Skip to main content

Full text of "Games for your Atari computer"

See other formats


■■■ 



THE DELL 
COMPUTER GAMES SERIES 



lf> o 

O) in 

-i< 

CD 
O 
CO 



LLi 

Q 



F 





ATARI 




MORE THAN 25 FASCINATING, ORIGINAL 

FULL-COLOR PROGRAMS FOR 

ARCADE-STYLE GAMES, BRAIN TEASERS, 

WORD GAMES, PUZZLES, AND MUSIC TO 

CHALLENGE AND ENTERTAIN YOU 



Paul Bunn 



ImEI 
■■■mi 
■■■■I 






1 
1 



" 



GAMES 
FOR YOUR 

ATARI 
COMPUTER 



- 



THE DELL COMPUTER GAMES SERIES 

GAMES FOR YOUR TIMEX-SINCLAIR 1000 
GAMES FOR YOUR TIMEX-SINCLAIR 2000 
GAMES FOR YOUR VIC20 
GAMES FOR YOUR ATARI COMPUTER 






" 



THE 

DELL 

COMPUTER 

GAMES 

SERIES 



GAMES 
FOR YOUR 

ATARI 
COMPUTER 



Paul Bunn 



A DELL TRADE PAPERBACK 



A DELL TRADE PAPERBACK 
Published by 
Dell Publishing Co., Inc. 
1 Dag Hammarskjold Plaza 
New York, New York 10017 



GAMES FOR YOUR ATARI COMPUTER was first published in 
Great Britain by Virgin Books Ltd. as part of the Virgin Computer 
Games Series. 



Copyright © 1983 by Interface/Virgin Books 

All rights reserved. No part of this book may be reproduced or 
transmitted in any form or by any means, electronic or 
mechanical, including photocopying, recording, or by any 
information storage and retrieval system, without the written 
permission of the Publisher, except where permitted by law. 

Dell » TM 681510, Dell Publishing Co., Inc. 

Printed in the United States of America 

First U.S.A. printing — November 1983 

Library of Congress Cataloging in Publication Data 

Bunn, Paul. 
Games for your Atari computer. 

(The Dell computer games series) 

Bibliography. 

1. Computer games. 2. Atari computer — Programming. 
I. Title. II. Series. 

GV1469.2.B8 1983 794.8'2 83-14356 

ISBN 0-440-52800-3 



" 



TO MY FAMILY AND FRIENDS 



" 






■ 



TIM HARTNELL— SERIES EDITOR 

Tim Hartnell is a leading computer expert and jour- 
nalist, who has contributed extensively to the Tech- 
nical Consumer Press. He is also the author of 
several books including Getting Acquainted With 
YourZX81, Let Your BBC Micro Teach You to Program 
and Programming Your ZX Spectrum. 

PAUL BUNN— THE AUTHOR 

Paul Bunn is a 16-year-old schoolboy studying for his 
"O" levels, and has owned an Atari for one and a half 
years. He has also written Total Control, a program- 
ming manual for the Atari, published by Interface. 

SUE WALLIKER— THE ILLUSTRATOR 

Sue Walliker is a freelance illustrator. 

ACKNOWLEDGEMENTS 

The author would like to thank the kind staff of 
Micro-C in Fishponds, Bristol, who lent him a printer 
while his was being repaired. 



CONTENTS 



Editor's Introduction 13 

Author's Introduction 15 

Skydiver 17 

Tic-Tac-Toe 23 

Race 29 

Lunar Landing 33 

Decision Maker 39 

Safe Cracker 42 

Tank Battle 56 

Digit Dodge 60 

Grand Prix 2 62 

City Bomb 64 

Engulf 68 

Color Pattern 72 

Color Puzzle 73 

String Pattern 77 

Sound Program 78 

Display List Interrupt Example 80 

Reaction Timer 81 

Morse Code 83 

Compliment Generator 85 

Space Docker 86 

Ski Run 92 

How to Write Better Programs 99 

Glossary 107 

Bibliography 121 



11 



Editor's 
Introduction 



Your computer is waiting to challenge you. Moving graphics 
games, brain stretchers, word games and puzzles are all here 
and ready to entertain you. 

A wide variety of games are included in this book. The 
programs have been written by some of the most talented 
young programmers working in this country at the moment, 
and represent a variety of approaches to solving program- 
ming problems. 

An examination of the listings should teach you many 
tricks and techniques to apply to your own programming. 
And once you have mastered the programs in their present 
form, you might want to try your hand at improving them. 
There is no such thing as a "perfect program," so these 
games are sure to benefit from your programming skill. 

All that now remains is for you to turn the page and enter 
the programs. I can only hope that you enjoy playing the 
games as much as we did when preparing this volume. 

TIM HARTNELL, series editor 
London 
March 1983 



13 



Author's 
Introduction 



I have tried in this book to give as many programs as possible 
which fully use the capabilities of the Atari 400/800 home 
computers. Many of the programs use redefined character 
sets, some use a fine capability of the Atari computers called 
player-missile graphics. 

I hope you enjoy playing the games, though you will 
benefit much more if you look at the listings and try to see 
how they work. Moreover, you can take ideas from these 
programs and use them in your own programs. 

PAUL BUNN 
Keynsham, Avon 
January 1983 



IS 



SKYDIVER 



(Uses the Joystick) 



This program uses redefined characters and player-missile 
graphics. The object of the game — which should not be 
played by anyone scared of heights! — is to get the highest 
score possible in 10 jumps. 

Your plane flies across the top of the screen: to jump out 
you press the red trigger button, and you will then descend 
at a rapid speed. When you wish to slow up, pull the joystick 
down and your 'chute will open. You receive bonus points if 
you manage to land safely on the landing pad. This bonus 
depends on when you open your parachute — the later you 
open it the better your score will be. Below a certain point, 
however, you cannot open the 'chute. A score of around 
12,000 is reasonable. 



Happy landing! 




-I I L 

T 



18 • GAMES FOR YOUR ATARI COMPUTER 



26 REN « PAUL BUNN DECEflBER 1982 *# 

£5 IF PEEK< £03 >=PEEK< 196 >-8 THEN 40 

30 GOSUB 10000: REH INITIALIZATION 

40 DIH PLfiNE*<l>»rifiN$<l)#CHUTE*<l>#BflSE* 

t 1 .J*LINE$'*. I . :: 

5S PLANE $=CHRi< OSC< " 4: " >+ 1 £3 > : HAN ■$= " ! " : L I 

NE$=CHR$< ASC< "#" >+36) 

etc ■—-! .~ \i ilWD i Tt**i 1 rt 

J- J rUn t_-M| if- — J, i i_t l k i 

SO GRAPHICS 17: SETCOLOR 2, 12, 10: POKE 16 , 

64: POKE 53774*64 

Si POKE 53277,3: REM % ENABLE PLAVER HISS 

I LE_ GRAPHICS * 

62 POKE 553*46: REH % DOUBLE LINE RESOLUT 

ION FOR PL A VERS * 

53 POKE 54£73,PEEK<£84>:REH % TELL ANTIC 
WHERE FT'l GRAPHICS Ah;E IN RAH * 

54 POKE 53256,3: POKE 53257,3: REH * QUADR 
OUPLE SIZE FOR CLOUDS % 

65 POKE 704,8: POKE 705, 14: REH % COLOUR F 

OR CLOUDS % 

bb ft3 = INT<L KND'% y j% 100 !?+75: POKE 53248, X3:R 

EH tt RANDOn HORIZONTAL POSITION FOR CLO 

ud i m 

67 X4= I NT'' RNO< 8 >t 1 @0 >+75 : POKE 53249 , X4 : R 
En ttRANDOn HORIZONTAL POSITION FOR CLO 

ij|_i ^ -V--V- 

68 POKE 8£3,l:REn * SET PRIORITY BETNEEN 
PLAVERS AND PLAVFIELDS t 

68 HOKE 53278,255: REH t CLEAR COLLISION 
DETECTION REGISTERS * 

70 POKE 756, PEEK>: 203 >:SETCOLOR 3,3,4: REH 
t POINT TO NEW CHARCTER SET IN RAH INST 
EAD OF HON * 

SO X= 1 : BASE*= " # " : CHUTE$=CHR$< ASC< " "/. " >+ 1 £ 

dj RE? ; ; : ■: rRiNi Bh&E LlNfc. %'M 

80 FOR P=0 TO 18 

180 POSITION P,£3 

110 PRINT #6iLINE$i 

i£0 NEXT P 

130 BfiSE=IHT< RND< OJ'SIS >+2 

140 POSITION BASE,££ 



SKYDIVER • 19 

158 ? #6iBflSE$ 

155 REP1 ZZ P1HIN PRGGRHH LOOP ZZ 

166 POSITION X,0:? #GiPLHNE$: POSITION X- 

1,8:? #Si" " "~ 

170 X=X+UIF 'AitS THEN 190 

180 POSITION X-1,8:? #6i" ":X=1 

185 REH ZZ JOYSTICK ROUTINE ZZ 

ISO SI =ST I CK( O > ' S2=STR I G< 8 ) 

191 X3=X3-3slF X3<28 THEN X3=228 

132 X4=X4+3:IF X4>228 THEN X4=28 

193 POKE 53248* X3 5 POKE 53249, X4 

280 IF PlHN=8 AND S2=8 THEN GOSUB 1000 

205 IF P]fiN=l THEN LOCATE X2j-V2#2 

210 IF PlHN=l THEN POSITION X2*V2s? #SiPifi 

m 

220 IF CHUTE=1 THEN POSITION X2,V2-ls? # 

6iCHUTE$^F0R_P=l TO 188: NEXT P 

£22 IK PEEK< 53252 ><>8 OR PEEK< 53253 X >0 

THEN 2088 

£25 IF V2=22 HND P1hN=1 THEN 2008 

238 0X=X2 : X2=X2+< S 1 =7 ;■-< X2 > 1 3 ) 

240 0V=Y2 : X2=X2-< S 1 = 1 1 >+<: X2< 1 ) : V 2= V 2+ 1 

250 IF SI = 13 HND PifiN=l HND CHUTE=8 AND V 

2<19 THEN CHUTE=isFOR T=0 TO 50: SOUND 8, 

T, 128,15: NEXT T: SOUND 0,0,0,0s C=V2 

&'j-j Lr i'lHi'i— kl< I HL.N i^U 

260 POSITION OXjOV-Is? #6;' ! r! 

£70 POSITION 0X,Y2-l:? #6;" " 

993 REH ZZ PlflN OPENS CHUTE ZZ 

1000 PlfiN=i: ¥2=2:X2=X 

1818 FOR P=38 TO 8 STEP -2: SOUND 8,P,128 

,15: NEXT p: SOUND 8,0,8,0: RETUKH 

£000 IF 2=RSOC BfiSE$ ) THEN GOTO 3888 

2818 FOR G=8 TO 255 

2020 SOUND 0,6,18,15: POKE 708 , 6 

2030 NEXT 6 

£040 FOR 6=255 TO 8 STEP -3 

2858 SOUND 8,6,18,15: POKE 788 , 6 

£868 NEXT 6 

2878 SOUND 8,6,8,8 



20 • GAMES FOR YOUR ATARI COMPUTER 

2888 POSITION 6,0: POKE 708,184 

2890 ? #6;">>>>>SPLHT<<<<<" 

2095 ? #6; "SCORE: "; SCORE 

2100 ? #6:? #6 i "PRESS start to PLAY" 

2110 POKE 53273 #8 

2120 IF PEEKC 53273 ><>6 THEN 2116 

2130 RUN 

3880 POSITION 0,0 

3010 IF CHUTE=1 THEN 3500 

3020 ? #6 ; "VOU DID NOT HfiUE" 

3838 ? #6; "your chute open" 

3840 ? #6:? #6i" OHCH ..." 

3O50 ? #6 

3060 FOR P=0 TO 150 STEP 2 

3070 SOUND 0jPj12#15 

3888 NEXT P 

3830 SOUND 0,0,8 , 

3100 GOTO 2835 

3588 ? #Si"^elI done ..." 

3518 ? #6* "YOU IWfiSED TO LAND" 

3520 ? #6; "ON THE PHD NITH VOUR" 

3530 ? #6 i "CHUTE OPEN ..." 

3540 POS I T I OH 3,10:? #R ; " sc ore : '■'• 

3550 B0NUS=C#75 

35S0 FOR P=0 TO BONUS STEP 5 

3570 POSITION 9,10:? #SiSC0RE+P 

3580 SOUND , P$25 ,18,15 

3598 NEXT P 

3S8y 8C0RE=SCQRE+B0NUS 

3618 SOUND 8,8,0,0 

3620 P"!ftN=0:CHUTE=0:NEXT JUP1P 

3630 GRAPHICS 2: POKE 53248,0: POKE 53248, 



3640 ? #6;"V0U'UE SUCCESSFULLY" 

3650 ? #6;'* LANDED 10 TINES" 

3660 ? #b 

3670 ? #8 i "your final score :-" 

3680 ? #6j" "i SCORE 

3690 SE7C0L0R 2,0,0 

3700 FOR P=5 TO 280 STEP 3 



" 



SKYDIVER • 21 

3716 FOR 6=P-5 TO P+5 

3728 SOUND 8..Gj1@j15 

3730 NEXT G 

3748 SETCOLOR 1,RND<0>*15#8 

3758 NEXT P 

3760 SOUND 8,8,8,8 

3770 END 

iOOOO FWWT=PEEK(l@6>-8!A=256*RfB! 

10010 GRAPHICS O 

1O02O SETCOLOR 4 *3#2: SETCOLOR 2,3,2 

10030 PRINT CHR$( 127 )i "PLEASE NAIT A LI I 

TLE WHILE" 

10040 PRINT CHK$< 127;'i"*:?::t:tttt:^**»:^^ 

10O50 POKE 752,1: PRINT 

i0O55 RET1 *$ COPV CHARACTER SET FRQF1 ROP1 

IN ! U hiAi'l -V--V- 

10OS0 FOR P=0 TO 1023 

10070 POKE A+P,PEEK<57344+P> 

100SO SOUND 8,PEEK< 53778), 18,2 

1O0S0 NEXT P: SOUND 0,0,0,0 

10100 READ ei 

1011O IF X<8 THEN POKE 283, RAPT: GOTO 1022 

10120 FOR F-0 TO 7 

10130 READ V 

10140 rOKt < X£8 )+A+P , V 

10150 NEXT P 

L0168 SOTO 10100 

101G5 REP1 « DATA FOR REDEFINED CHARACTE 

rs n. 

10170 DATA 1, 153, 1SS, 153, 126, SO, 68,66,12 
18138 DATA 5,0,0,0,24,60,126,195,129 

4j-jiijh nnTN "7 -~icrcr --etc- -ir-c- --.err --crcr - ( irr -l 1 ^^ 

, ci55 

1O200 DATA 6,16,6,132,134,255,2,4,8 

1021O DATA -1 

1022O R=RAP1-S 

10225 REP1 *# CLEAR OUT PLAVER P1ISSILE GR 

APHICS flEPlORV tt 



22 • GAMES FOR YOUR ATARI COMPUTER 



18238 


FOR P=512 TO 76S 


16240 


POKE R*256+p,0:HEXT P 


10245 


REFI ** POKE IN DflTfl FOR 


ERS *> 




10250 


FOR F-0 TO 7 


1 0260 


READ X 


10270 


POKE RS256+70+P+5i2,K 


10280 


POKE RS25G+50+P+640 1 H 


1 0290 


NEKT P 


1 0300 


POKE 204 ,R 



CLOUD PLflV 



10310 RETURN 

10315 REP1 ## DflTfl FOR P. PI. GRAPHICS : 

10320 DflTfl 16j 126,127,255, 12b, 62, 28, < 



TIC-TAC-TOE 



(Keyboard) 

This game, written by Roland Marriott, requires a machine 
with a 24K memory; it can be played either against the 
computer or a friend. To win you must get four squares of 
the same color in a row. 

There are four planes from left to right, labeled A, B, C 
and D. To make your move, first type a plane letter (A-D). 
Then enter two digits to correspond with the position on the 
plane. They are numbered left to right from 01 to 16, like 
this: 



13 


14 


15 


16 


09 


10 


11 


12 


05 


06 


07 


08 


01 


02 


03 


04 



Here are examples of moves, though you should note that 
RETURN does not have to be pressed: 

D15 
A05 
B10 
C02 
B16 

When you are asked how many players want to play, press 
"1" if you want to play against the computer, otherwise press 
"2." 



23 



24 • GAMES FOR YOUR ATARI COMPUTER 



1 REPl t 3D NOUGHTS AND CROSSES By * 

2 REPl * ROLAND NflRRIOTT X 

4 GOSUB 3800 

5_Dj.Pl SPACEXS4 f 2>:DIPl P1ARKX S4 ') : D I PI BLOB< 
06 #J A* D I il HZ\ 40 ) 

5 CL=0 

7 GOSUB S0O0 

10 GRAPHICS 7+ IS: COLOR 1 

17 SETCOLOR 2, 12,8: SETCOLOR 4*0*3 

I S^SETCOLOR 1,4,8: SETCOLOR 8 , 2 , S : SETCOLO 

K 3 , ■*> .' o 

20 FOR X=6 TO 129 STEP 43 

38 FOR V=S5 TO 38 STEP -1 

48 PLOT X,V:QRAHT0 X+30,¥ -38 

cfj l IfTVT ! ! 

■-»-' ilC:'-. ! T 

50 NEXT X 

51 PLOT 0,28:DRAHT8 23,8: PLOT 8,27:DRAMT 

S3 PLOT RT+4i,35:DRAHT0 RT+41 j3@:DRAWT0 
RT+71#@:PL0T Rm-48,35:DRANT8 RT+48,38:DR 
AWTO KT+/y,y 

B4 Nb.! : '*i 1 NT 

65 COLOR 8: SETCOLOR 4,3,2 
SB FOR Z=8 TO 123 STEP 43 
78 FOR V=31 TO 31 STEP -28 
72 FOR X=l TO 31 STEP 3 
74 pop; pj=0 TO 1 

7S8 PLOT Z+X+A,¥-A-X+3:DRAHT0 Z+X+A,V-A- 

788 NEXT A 

858 NEXT X 

388 NEXT V 

358 NEXT Z 

1888 F8R P=l T8 84: READ H,J 

1 ft 1 8 SPACE< P , 1 ;'=H : SPACE( P , 2 >= J 

1812 NEXT P 

1815 IF PEEKX 784 )=255 THEN 1815 



TIC-TAC-TOE • 25 

101b CLOSE #i:OPEN #1 ,4,0, M K: H :GET #1*H 

1817 IF_W<65 OR H>68 THEN POKE 784,255:0 
0T0 1015 

1013 IF H=65 THEN N=8: IF M=66 THEN N=16: 
IF (4=67 THEN N=32 

1019 IF N=66 THEN N=16 

1020 IF N=67 THEN N=32 

1021 IF H=68 THEN N=43 

1023 POKE 764,255 

1024 IF PEEK< 784 >=255 THEN 1024 

1025 CLOSE #5: OPEN #5,4,0, "K: ": GET #5,2 
1028 IF 2< 48 OR 2>49 THEN POKE 784,255:8 
\ 1024 

!Uii7 POKE 7b4#255 

1823 CLOSE #4: OPEN #4,4,8, "K: ": SET #4,HH 

:IF NH<43 OR HH>57 THEN POKE 764* 255! GOT 

1027 

1833 REP1 FOR TR=0 TO 2 

1 034 SP=N+ 1 0£< 2-48 HWH— 48 : LOCHTE SPftCE< S 
P,I >,SPHCE<SP,2>,GH: IF 6HO0 THEN GOTO 1 

1^35 CL = LL+1: IF CL=2 THEN CL=0 

1636 FOR RY= 15 TO STEP -1: COLOR CRV+CL 

+2 ) • SETCOLOR 1,3,4 

1037 FOR TR=8 TO 2 

1033 PLOT SF'HCE< SP,1 )+TR,SPHCE< SP,2>-TR: 

DRflWTO SPHCEC SP , 1 >+TR , SF'HCE< SP , 2 >-TR-3 

1839 NEXT TR:NEXT RV 

1848 CLOSE #1 

1842 FOR PG=1 TO 64 

1844 LOCATE SPfiCE< PQ, 1 >jSPfiCE< PQ,2 >,U 

1846 PiflRK<PQ>=U!NEXT PQ 

1056 C=CL+2 

Myy h=1: 8=16: 0=16: E=l:GOSUB 1400 

1 1 05 H= 1 : B=6 1 : 0= 1 : E=4 : GOSUB 1 400 

1110 fl= 1 : 8= 1 3 : 0= 1 7 : E=4 : GOSUB 1 400 

1115 H=4 : B= 1 6 1 0= 1 5 : E=4 : GOSUB 1 480 

1120 H=l:ti=4:u=20:E=l: GOSUB 1400 

1125 fi= 1 3 : B= 1 6 : D= 1 2 : E= 1 : GOSUB 1 400 

1138 fi= 1 : B= 1 : 0=2 1 : E= 1 : GOSUB 1 488 

1 1 35 fl= 1 3 : B= 1 3 : D= 1 3 : E= 1 : GOSUB 1 400 



26 • GAMES FOR YOUR ATARI COMPUTER 

I 1 4@ 0= 1 6 : B= 1 6 : D= 1 1 : E= 1 : SGSUB 1 489 

1145 H=4:B=4:D=i9:E=l:G0SUB 1460 

1 1 58 fl= 1 : B=49 : D=5 : E= 1 6 : SOSUB 1 408 

1155 H=4:B=52:D=3:E=16:S0SUB 1488 

1 1 60 fi= 1 : B=4 : D=4 : E= t : GOSUB 1 408 

1 1 65 R= 1 7 : B=28 : D=4 : E= 1 : SOSUB 1 488 

1 1 78 H=33 : B=36 : D=4 : E= 1 : SOSUB 1 488 

1 1 75 H=33 : B=36 : D=4 : E= 1 : GOSUB 1 480 

1 1 80 H=49 : B=52 : D=4 : E= 1 : GOSUB 1 400 

i299 IF PLPVER=1 HMD CLOG THEN GOTO 158 

85REP1 IF CL=8 THEN GOTO 1815 

1388 GOTO 1815 

1488 FOR PQ=H TO B STEP E 

1418 IF nHRKXPQ>=C HND ITftRK< PQ+D >=C AND 

FlflRK<PQ+2*D>=C HND NfiRK< PQ+3*D )=C THEN G 

OSUB 1458 

1428 NEXT PQ 

1438 RETURN 

1458 PLOT SPHCE< PQ,1 Hl*SPfiCE< PG,2>-1:0R 

flWTO SPACED PQ+3&D * 1 >+ 1 j Si-flCEi PQ+3*D , 2 >- 1 

: RETURN 

1588 REP! MACHINE LOGIC 

1688 FOR pQ=l TO 64 

1685 LOCATE SPfiCE<PQ#l>#SPflCE<PQ#2>#U 

1606 IF 0=2 THEN U=18 

1688 IF 0=3 THEN 0=58 

1618 rTflRK<PQ>=U:NEXT PQ 

1615 H=@ 

1628 fi=l:B=16:Q=18:E=l: GOSUB 1700 

1 625 P= 1 : B=6 i i D= 1 : E=4 : GOSUB 1 788 

1 638 H= 1 : B= 1 3 : 0= 1 7 : E=4 : GOSUB 1 788 

1 635 H=4 : B= 1 6 : 0= 1 5 : E=4 : GOSUB 1 788 

1 648 A= 1 : B=4 : 0=28 : E= 1 : GOSUB 1 788 

1 645 fl= 1 3 : B= 1 6 : D= 1 2 : E= 1 : GOSUB 1 788 

1 658 H= 1 : B= 1 : 0=2 1 : E= 1 : GOSUB 1 788 

1 655 fl= 1 3 : B= 1 3 : D= 1 3 : E= 1 : GOSUB 1 788 

1 660 H= 1 6 : B= 1 6 : 0= 1 1 : E= 1 : GOSUB 1 700 

1 665 A=4 : B=4 : D= 1 8 : E= 1 : GOSUB 1 788 

1 678 A= 1 : B=43 : 0=5 : E= 1 6 : GOSUB 1 788 

1 675 A=4 : B=52 : 0=3 : E= 1 6 : GOSUB 1 788 

1 688 A= 1 : B=4 : 0=4 : E=l : GOSUB 1 788 



TIC-TAC-TOE • 27 

1 682 fl= 1 7 : B=28 : D=4 : E= 1 : GOSUB 1 796 
1686 0=33 :B=36:D=4:E=l: GOSUB 1706 
1 688 fi=43 : B=52 : D=4 : E= 1 : GOSUB 1 760 

1G38 GOTO 1740 

170O FOR PQ=fl TO B STEP E 

1705 H=H+1 

1710 SUPl=nHRK( PQ HHHRKX pq+d >+m=iRK< pq+2*d 

HPIHRKC PQ+32D ) 

1720 IF SUP1=30 THEN GOTO 1830 

1 725 BLOB< H , 1 >=SUP1 : BLOB< H , 2 >=PQ : BLOBC H , 3 
>=D 

1730 NEXT PQ: RETURN 

1740 FOR TZ=1 TO H: IF BLOB-: TZ, 1 >=158 THE 

1745 NEXT T2 

174G VZ=0:FOR TZ=1 TO H 

1748 IF BL8B<TZ,1>=28 OR BLOB< TZ, 1 >=I80 
THEN GOSUB I860 

1758 NEXT TZ:IF VZOS THEN GOTO 1768 

1755 GOTO 2856 

1768 FUR TZ=1 TO VZ:FOR PZ=2 TO .:VZ-1> 

1765 IF HZ< TZ >=HZ< PZ > AND TZOPZ THEN SP 
=HZ< TZ ) : GOTO 1 835 

1766 NEXT PZ:NEXT TZ 

1778 IF VZ<>8 THEN SP=HZ< VZ >'. GOTO 1835 

1838 FOR TK=8 TO 3: IF HfiRKtt PQ+TKSD >=8 TH 
EN SP=PQ+TKSD:60T0 1835 

1835 NEXT TK 

1858 REP1 DEFENCE 

1855 FOR TK=8 TO 3: IF HhRKX BLOB< TZ,2>+TK 

*BLQB<TZ,3>)=0 THEN SP=BLuB<TZ,2>+TK*BL0 

B<T2#3>!S0T0 1035 

1857 NEXT TK 
1868 F8R P=8 TO 3 

1863 IF nHRK<BL0B<TZ,2;+PSBL0B<TZ,3}>=8 

THEN VZ=VZ+ 1 : H2< VZ >=BLOB< TZ * 2 HP#BLOB< TZ 

,3) 

1865 NEXT P: RETURN 

1888 GOTO 2850 

1858 GOTO 2050 



28 • GAMES FOR YOUR ATARI COMPUTER 

2950 SP=INT<64#PMK1)+1}:IF P1ARKX SP >=0 T 

HEN GOTO 1035 

2055 SOTO 2358 

3000 RET! COMER PAGE 

3020 GRAPHICS 2+16:SETC0L0R 4,13,2 

3030 POSITION 3,1:? #£;,-" ###############" 

3040 POSITION 3,2:? #6; "# 3D NOUGHTS #" 

3050 POSITION 3,3:? #6;"# AND CROSSES #" 

3052 POSITION 3,4:? #6,-"# BV ROLAND #" 

3054 POSITION 3,5:? #6;"# HARRIOTT #" 

30S0 POSITION 3,6:? #6,- "###############" 

3070 POSITION 1,?:? #6; "PRESS start. JO P 

LAV" 

30SO IF PEEK< 53279 >=6 THEN RETURN 

30SO GOTO 33S@ 

5O00 DATA 1,93,10, 84 ,19,75, 28 , 66 

5010 DATA 1,73,10,64,19,55,28,46 

— ;--~--~4 r-:-iT-i i c~T « i~4 A A i O "7^" ■~ , ~ , ~'C' 
DtO£» LiMiM I i Jl' , 1 O , 1-4 , 1 d , •-•■_' , £-C> i Lib 

503O DATA 1,33,10,24,19,15,28,6 
5040 DATA 44,93,53,84,62,75,71,66 
5050 DATA 44,73,53,64,62,55,71,46 
5060 DATA 44,53,53,44,62,35,71,26 
5070 DATA 44,33,53,24,62,15,71,6 
5080 DATA 87 , 93 , 96 , 84 , 1 05 , 75 , 1 1 4 , 66 
5090 DATA 87 , 73 , 96 , 64 , 1 05 , 55 , 1 1 4 , 46 
5100 DATA 87,53,96,44,105,35,114,26 
5110 DATA 87,33,96,24,105,15,114,6 
5120 DATA 130,93,139,84,148,75,157,66 
5130 DATA 130,73,139,64,148,55,157,46 
5140 DATA 130,53,139,44,148,35,157,26 
5150 DATA 130,33,139,24,148,15,157,6 
6000 GRAPHICS 2+16:? #6 ,-"2 HUF1AN PLAYERS 

it 

6010 ? #6; "OR 1 HUP1AN UERSUS me" 

KFI20 ? #6i" (TVPE 1 OR 2 >" 

6030 OPEN # 1 , 4 , O , " K : " : GET # 1 , PI : I F PK 49 

R n>50 THEN POKE 764,255: CLOSE #l:GOTO 6 

030 

6040 PLAVER=Pl-48: CLOSE #1 
6050 RETURN 



RACE 



(Joystick) 



This game was written by Paul Dunning. In it you race against 
three other cars, all trying to cover as many miles as possi- 
ble. Use the joystick to maneuver your car through the 
course. By pressing the red fire button on the joystick you 
can shift gears. The program uses machine code, so SAVE it 
before attempting to RUN the program. 



" 



O-lA 



^3 



33 




33 







l5St 



w, 




29 



30 • GAMES FOR YOUR ATARI COMPUTER 



2 DIP] S<4),G*': 18),E$< 180) 

3 GRAPHICS 5:G$="L0H":F'UKE 752,1 

5 GOSUB 10@G 

6 PDKE 765,2: COLOR 2: PLOT 8,S:DRAMT0 79, 
0:PLOT 79 # 47s DRflWTO 73* 30 s DRflWTO 6#30:PO 
S I T I ON 0,47: X I 1 3 , #6 ,&,&," S : " 

7 POKE 765,3: COLOR 3: PLOT 79,29: DRAhTO 7 
9,1: DRflWTO 0,1: PCS I T I ON 9 , 29 s X 1 1 8 , #6 , @ 

, b , ■!■■ • 

8 P K E 7 1 ii , 1 4 o 

1 PF-PEEKX 1 86 )- 1 6 : POKE 54279 , PP 
28 Pfl=PP*256 SPOKE 559,62 

21 FOR Q=? = i3256 TO 53280s POKE Q#3:P0KE Q~ 

8,RND<1 >:?:255:NEKT Q 

22 POKE 53246, 100: POKE 53249,108: POKE 53 
250 , 1 88 : POKE 53251, 58 

23 POKE 784, 189: POKE 785,89: POKE 786,79: 
POKE 787,29: POKE 53277,3: POKE 559,62 

24 FOR Q=Pn+1024 TO Pn+2048:POKE Q,0:NEX 



38 RESTORE 218: FOR Q=PP1+1 144 TO Pf'1+1288: 
READ ft: IF A=-i THEN 32 
31 POKE Q, A: NEXT Q 

7.2 RESTORE 218: FOR Q=pn+1368 TO PP1+1536: 
READ fl: Ih A=-l THEN 34 

33 POKE Q, A: NEXT Q 

74 RESTORE 218: FOR Q=PP1+1576 TO Pfl+1792: 
READ A: IF A=-l THEN 36 

35 POKE Q, A: NEXT Q 

36 RESTORE 218: FOR Q=pn+1842 TO PH+2848: 
READ A: Ih A=-l THEN 48 

37 POKE Q, A: NEXT Q 
48 POKE 623,1 

50 SOUND 8 , 255 ,12,5: SOUND 1 , 1 45 , 1 2 , 5 : SOU 

ND 2,288,12,5 

fifl FOR P= c i3256 TO 53268: POKE Q, 3: POKE Q- 

SlRNDU v*:255:NEXT Q 

70 POKE 704, 109: POKE 705,89". POKE 786,79: 

POKE 787,29: POKE 53277,3: POKE 559,62 

75 ST=Pn+1342: HG=INT< ST.-256 >: LN=ST-256*H 
G : POKE 203 , LW : POKE 204 , HG : POKE 285 , 1 8 



RACE • 31 

80 P 1 =< RND< 1 >t 1 80 ':•+ 1 00 : P2=< RND< 1 >t 1 00 >+ 1 

00* P0=< RND< 1 >$100 >+100: P3=58 

85 FOR 0=6 TO 3 : S< Q ')=< RND< 1 >$2 >+ 1 : NEXT Q 

87 POKE 53248* P0S POKE 53249, PI : POKE 5^2^ 
U,P2:P0KE 53251,56 

38 FOR Q=l TO 50 : X =USR':: HDR< £■$':>, 7 >'. NEXT Q 

90 IF G*="HIGH ,! THEN SOSUB 400: 60T0 128 

92 POKE 53278,1 

95 P0=P0+S< 0>* IF P8>255 THEN P0=0 

98 X=USR<flDR<E*>*STICKC0>) 

188 Pl=Pi+S<l>'IF Pl>255 THEN Pl=8 



118 P2=P2+S<2>:IF P2>255 THEN P2=8 

128 ni=fii+0.0i 

1 £4 X=USR< HOR< E$ > , ST I CK< 8 ) ) 

129 IF STRI6<0>=O THEN 60SUB 588 

138 POKE 53248, P8: POKE 53249, PI : POKE 532 

58, P2 

135 POKE 6-_>6 r k. s POKE 857,5s y "GEfiR ''i'5$i" 
""POKE G56,2:P0KE 857,28:" "PULES "iHI 

_ M H 

1 48 CP=PEEK< 53263 > : CS=PEEK< 53255 ':< 

158 IF CPO0 THEN 688 

168 IF CS04 THEN 688 

198 GOTO 98 

210 Ut-iTH 64,ii^o,ii3o ,iL3o ,ii3y ,ii3o,78,G8,22 



£. i ■_' L'H ! H il-J'O , CSO , bt , — 1 

3y@ C=INT< RND< 1 >£3 >! S< C :>-<. RND< 1 >£2 >+i : RE 

I URN 

488 P0=P0-<S<0}#2>* IF P8<8 THEN P8=255 

485 X=USR< HDR< E$ > , ST I CK( 8 > ) 

418 P1=P1-:S< 1 >i.2>: IF PK0 THEN Pl=255 

415 X=USR£ PDR< E$ ) , ST I CKX 8 > ) 

428 P2=P2-<S<2>&2>! IF P2<8 THEN P2=255 

425 X=USR< ROR< E$ > , ST I CK< S > ) 

438 PI I =H I +8 . 85 : RETURN 

500 IF H:£="HIGi-i ! ' THEN 6$= "LOW'S SOUND Fi « 2 

55, 12, 10: SOUND 1 ,245, 12,10: SOUND 2,235,1 

2,10: RETURN 

510 G*="HIGH": SOUND 8,188, 12, 18: SOUND 1, 



32 • GAMES FOR YOUR ATARI COMPUTER 

110, 12., 1@: SOUND 2,38., 12, 18: RETURN 

680 GOTO 640 

605 SOUND , , , : SOUND 1 , 8 * 8 , 8 : SOUND 2 , 

0,0,0 

610 POKE 53246,100: POKE 53243, 100: POKE 5 

R28 TRfiP 628: "■ " ANOTHER 80 "H INPUT G*: 

IF G4Kl,i>="V" THEN P!I=0: Gi="LOW" : ? CHRi 

( 125 >■ GOTO 24 

630 END_ 

640 J=PEEK< 203 }+256£PEEK< 204 > 

R4F; FOR P=l TO 250: IF PEEK< J+Q )=8 THEN N 

EXT Q 

650 ST=J+Q : HG= I HT< ST/256 > : LH=ST-256$HG : P 

OKE 203 , LN : POKE 284 , HG 

655 FOR P=l TO 88 

660 :K=USR< 1 536 > : SOUND 1 , PEEK< 53770 > , 1 28 , 

■i ET 

X -J 

670 POKE 707, PEEK< 53770 >: NEXT P 

788 POKE 5325 1,0: GOTO 605 

1000 RESTORE 2080 

1010 TRfiP 1050:P=0 

1020 P=P+l:REHD ft 

1030 E*<P,P>=CHR$<ft) 

1040 GOTO 1820 

1050 RESTORE 3000 

1060 TRfiP 1030: P= 1536 

1070 READ ft: POKE P,ft:P=P+l 

1080 GOTO 1070 

1030 TRfiP 40888 

1188 RETURN 

£800 DfiTfi 1 04 , 1 04 , 1 04 , 74 , 72 , 1 76 , 1 1 , 1 88 , 8 

, 1 77 ,283 , 1 36 , 1 45 , 283 , 2tf8 , 288 , 288 , 247 , 1 84 

,74,7ii 

2818_DftTfi 176, 1 1 , 160,0, 177,203,208, 145,2 

83,136 

2828 DfiTfi 136,288,247,184,74,72,176,7,13 

8,285,165 

2838 DfiTfi 285 ,141,3, 288 ,184,74,176,7, 238 

, 285 , 1 S5 , 205 ,141,3, 208 , 96 , END 

3000 DfiTfi 1 04 , 1 68 ,0,1 73 , 1 8 , 2 1 8 , 1 45 , 283 , 2 

@8 , 1 32 , 25 , 208 , 246 , 36 , END 



LUNAR 
LANDING 



(Joystick) 

This game was also written by Paul Dunning. You use the 
joystick to land on the blue landing pad and score maximum 
points for a slow, gentle landing (say, a vertical speed of 5). 
You will crash if you are going too fast. 

If you land, your score will depend on how slow your 
vertical speed was and on which landing pad you alighted. 
You are then given 500 extra fuel units and the game begins 
again. The game ends when you run out of fuel. 




• T r'HUL UUririi 

i DA i H i Uo #68 j t'l j-4u j5j j4y jGu j4y jG4 #48 i 72. 
, 4y r 4y , 4y j 53 j, 40 j, 60 , 40 f 64 #48 * 7Z * 40 * 48 r 49 * 
5-.i 1 48 i t-y j? 48 i 64 j 4y i ty ^ 48 1 id j yy 
2 DfiTfl 108#80»3S#88#80#48#S4#48jf72.»48.»81 

33 



34 • GAMES FOR YOUR ATARI COMPUTER 

, 88 , 72 , 48 , 64 , 40 , 72 , 60 , 36 , 40 , 85 , 40 , 53 , 88 , 
48 , 40 , 45 j 4y , 50 * 40 , 53 , 48 , 89 , 40 

3 DfiTfl 68 , 48 , 72 , 40 , 3 1 , 48 , 53 , 88 , - 1 

4 CLR :DIH H$>: 100>,H$< 11 >,£*< 60>:H*=" a 
tar i ": POKE 752,1: HI =568 

5 pp= i : FU=4888 : T I = 1 00 : 86=0 : HU=8 : W=HU : PO 
KE 5327b", 1:66SUB 888:68SUB 4080 

6 DftTfi 11*12*13*13*14*15*17*19*21*22*23* 



",33,33,: 



DftTfi 25,26,28,38,31, 33, -t 



8 UHTH 3 1,30,2h, 28,i£6, 25, 25,24,23,21, 18, 
16,15 

j-i —i|-:-r!- ^ -i f A i a < c * ■? |Q oi '"'"j -~» -1 •'52? -~i~- 

d_ L.ih| M i4,i4,i4,i-_i,lf jidfiii ii o , £.4 , .c-_> , £b , 

18_ DftTfi 28,28,28,28,27,26,26,25,26,27,28 

, CO 

I'd UHffi 28*18*17*17 

£8 FUR 1=1 T8 8:P8KE 53247+ I , 8 : NEXT 1:66 

TO 485 

38 END 

128 REP1 PUKE 53248,38 

280 REM $$:m:PLHVER SETUP **:m 

218 POKE 558,8: PUKE 718, 148: POKE 712,8 

215 POKE 752,l:fiL=110 

230 RESTORE 235: FOR S2=l TO 60: READ S3:E 
$(. S2 , 62 >=6HR$< S3 ) : NEXT S2 

235 DOTH 184,104,104,74,72,176,11,160,2, 
1 77 , 203 , i 36 , 1 45 , 203 , 208 , 200 , 208 , 247 , 1 84 , 
74,72 

236 DftTfi 1 76 , 1 1 , 1 68 , 253 , 1 77 , 283 , 288 , 1 45 , 
203,136 

237 DfiTft 1 36 , 288 , 247 , 1 84 , 74 , 72 , 1 7b , 7 , 1 98 

238 DATS 165,285,141,0,288,184,74,176,7, 
238,285, 165,285, 141, 8, 208, 8b, 8, 8 

24@ fl=PEEK< 186 >- 16: POKE 54278, ft: POKE 284 
,ft+4:F0KE 283,8: PriBfiSE=ft*256 

258 POKE 53277,3: POKE 784,48: P8KE 53248, 
150:P6KE 285, RNTK 1 >t 138+78 :P8KE 53256,6 
260 F8R I=PP1BftSE+1824 TO PP1BfiSE+1288:P0K 



- 



LUNAR LANDING • 35 

E 1,0: NEXT I 

279 RESTORE 290 

280 FOR I=PnBRSE+1155 TO PITBfiSE+1209:REfi 
D B:POKE I, B: NEXT I 

290 DfiTfl 3,8, 60 ,60, 126, 126*195, 195,126,1 

26,60,60,24,24,126,126,165,165 

300 DATA 165,165,165,0,0,0,0,0,0,0,0,0,0 

,0,0,0,0,0,0,0 

310 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 

,0 

320 POKE 559,62: GOTO ,390 

370 ST=STICKC8) 

380 CO=PEEK< 53252;-: IF CO>0 THEN GOSUB 50 

@ 

385 POKE 53278,1 

390 IF flfl=l THEN FOR Q=0 TO 100:fl=USR<HD 
RC E$>, 14 >: SOUND 0,255,8, 15: NEXT Q:flft=@:fl 

=USR< HDR< E$ ) , 1 1 > : SOUND 0,0,0,0 

409 POKE 53278,3 

418 IF ST=14 AND FU>=30 THEN SOUND 0,255 

, O , 1 -J ■ DU i U "i-d KJ 

415 SOUND 0,0,0,0 

420 IF ST=7 OR ST=11 AND FU>=5 THEN SOUN 
D 1,1 OO , 8 , 3 : SOTO 436 
425 SOUND 1,0,0,0 

430 IF FLK=0 THEN FU=0:6OTO 455 

431 IF ST=7 THEN HU=HU+0.05:FU=FU-5 

432 IF ST=11 THEN HU=HU-0.05:FU=FU-5 
440 HP=HP+HU:IF HP>1 THEN HP=0:SR=7 
450 IF HP<-1 THEN HP=0:SR=11 

455 iji.j=i..ii..i+M.fi2:Lip=i.ip+i.Ji.i: IF UP>1 AND SR=1 
5 THEN UP=0:SR=i3:HL=flL-l 

456 IF MP>1 AND SR=11 THEN Up=0:SR=9: AL= 
HL-1 

457 IF UPM HND SR=7 THEN UP=0: SR=5: AL=A 
L-l 

458 IF Up<-i THEN UP=0: SR=14: AL=AL+1 
460 IF ST=14 HND FU>29 THEN W=UU-tf.05:F 
U=FU-30 

480 H=USR':r-tDR':E$>,SR;':SR=15 

485 ? " SCORE="iSCi" " iCHRIK 127 >i " UUEL 

=";UU^100;" " 



36 • GAMES FOR YOUR ATARI COMPUTER 

486 ? " FUEL =";FU; U U ;CHR$< 127?;" HUEL 
= H ;HW108;" 

487 ? " TlflE = n ;INT<TI>;" "iOHR*< 127 >i" 

HLT ="iftLi" " 

488 ? CHR$<23>;CHR*<28);CHR$<28># 

483 TI=TI-6.1 

498 IF TI=8 THEN 728 

482 SOTO 378 

485 SOTO 218 

580 IF 86=4 RND W<0.5 THEN 688 

585 IF UU=4 FIND UU>8.4 THEN 700 

510 IF CU=2 THEN 700 

520 RETURN 

800 FDR Q=l TO 2: FDR (4=255 T8 180 STEP - 

818 SOUND 0,H* 10 #15: SOUND 1,N- 18, 18,15:8 

OUND 2,N-2O,10,15 

620 NEXT N:NEXT Q 

630 SS=0.5-W:SG=SC:IF 88=8 THEN SC=SC+5 

8 : 6DT0 658 

648 IF flL< 5 THEN SC=SC+<SS&100)$10:6OTO 

658 

642 IF hI_ : :'2m THEN SC=SC+< SSSIOO >$20: SOTO 
650 

644 IF HL<60 THEN SC=3C+< SSS1 OO >.*5 

658 IF FU<2508 THEN FU=FU+< S0-S8S2 > 

655 F8R 0=0 T8 3 s SOUND 0,0,8,0: NEXT Q:fifi 

= 1 : POKE 53278 , 1 : SOSUB 880 : S8T8 2 1 8 

7Pifi FHR 0=0 T8 58: POKE 7i2,RND< 1 >#255:S0 

UNO 8,255,8, 15: S8UND 1 ,248,8, 15: SOUND 2, 

228,8, 15: NEXT 

785 SOUND 8,8,8,8: SOUND 1 ,8,8,8: SOUND 2, 
8 , 8 , 8 

786 IF FLK38 THEN FU=8:S8T0 728 

7 1 8 POKE 712,8: p.H= 1 : SOSUB 888 : SOTO 218 

728 POKE 712,8: SOTO 818 

880 UP=0 : HP=0 : HU=0 : W=0 : T I = 1 88 : RETURN 

810 IF SOHI THEN SOSUB 1010 

828 GRAPHICS 17:SETC8L6R 4,1,8 

838 ? #6;" SfiPlE 8UER" 

835 ? #6:? #6;" HISH SC8RE ";HI 

636 ? #6:? #6," ";H$ 



LUNAR LANDING • 37 

348 ? #6:? #G;" PRESS START " 

859 PUKE 53248*8 

360 IF PEEK< 53279 >=6 THEN RESTORE :GOTO 

87u GOTO 860 

899 END 

800 HLf'l INTHO 

810 GRAPHICS 17:SETC0L0R 4,1,0:E=8 

920 ? #6i" LUNAR LONGER " 

830 ? #6:? #6;" BV P. DUNNING SEP. 82" 

940 ? #£;:? #p ;i » USE JOVSTICK <G>" 

850 ? #6:? #6;" u p 

9G0 ? #6:? #6;" ••'- " 

870 ? #6;" left < > right" 

888 ? #6 

885 POKE 53248 j. U 

890 READ Pis IF PK8 THEN 988 

882 REfiD P 

885 SOUND e,F1,18,15:F0R PP=8 TO P:NEXT P 

887 GOTO 890 

888 ? #6i" yood luck" 

999 FOR X=l T 13: FOR V=8 TO 255 STEP 28 

: SOUND 8,V,18,15:NEXT V:NEKT X: SOUND 8,9 

,8 j 0: RETURN 

1S0U RESTORE t s SOTO 330 

1010 H*=" ":TI =38: GRAPHICS 18:SETC0L0R 4 

,1,8:? #6;" GREAT SCORE ":? #6:X=1:V= 

abcdefah" 



l:HI = 


SC 


1011 


? #8;" 


i ii' i i! 


? #8 


irfiO 


? #8 i " 


1 W 1 *t 


? #6 


1015 





101b ';•• #H 

1017 ? #6;" y z . - RE " 

1018 POKE 53248,8 

1 028 FOR Q=10 Tii ^4!=; : si ii jhd fi , Q- 18,8,15s :-; 
OUND 1,0,8,15: SOUND 2,0+18,8, 15: NEXT Q 
1S30 POSITION X,Y:? #6i "XXX" s POSITION X, 
V+l:? #6; "X": POSITION X+2,V+1:? #8;"X":P 



38 • GAMES FOR YOUR ATARI COMPUTER 

OSITION X,V+2:? #6j"XXX" 

1046 IF STICKX8X>7 THEN 1058 

1845 POSITION X#Vs? #6;" ": POSITION X, 

V+i:? #6i" ": POSITION X+2#Y+lz? #6;" ":P 

OSITION X,V+2:? #6;" 

1Pi4r if X>13 AND V=7 THEN X=lsV=ls60TQ i 

850 

1847 IF X>13 THEN X=l : V=Y+2: GOTO 1858 

1848 X=X+2 

1058 IF STICK<0X>11 THEN 18S8 
1855 POSITION X,V:? #Si" ": POSITION X, 
V+l:? #6;" ": POSITION X+2,V+l:? #6j" ":P 
OSITION XjV+2s? #6i" 

105S IF X<3 AND V=l THEN X=15: V=7:G0T0 1 
0Ry 

1857 IF X<3 THEN X=15: V=V-2: GOTO 1868 

1858 X=X-2 

1868 POSITION 6,10:? #6;"TIP1E " ; INK TI >; 
" ":TI=TI-0.l:IF TI=8 THEN 1100 

1865 FOR PP=8 TO 20: NEXT PP 

186S IF STRIGK0X>0 THEN 1080 

1071 LOCATE X+l#V+l,XXsIF XX=flSCX "E" > TH 

EN 1108 

1072 IF XX=flSC<"R u > HND LEN<H*»1 THEN H 
$=H$< 1 , LEN( H$ >- 1 > : GOTO 1 088 

1073 IF LEN<H$}>10 THEN 1088 
1 875 H*< LEN-: H* >+ 1 >=CHR*< XX > 
1888 POSITION 4,11:? #6;H*j" " 
1898 GOTO 1838 

1188 FOR Q=8 TO 3: SOUND Q* 8,8, 8: NEXT Q 

1118 RETURN 

4000 GRAPHICS 5 

4010 RESTORE 6: COLOR 2 

4020 FOR X=0 TO 7S 

4030 READ V 

4040 PLOT X,39:DRHWT0 X,V 

4050 NEXT K 

4068 COLOR 3 

4070 PLOT 18,32: DRfiNTO 23,32 

4080 PLOT 50,28: DRftWTO 54,28 

40a0 PLOT 67,22: DRflNTO 73,22 

4100 RETURN 



DECISION 
MAKER 



(Keyboard) 



This program will help you to make up your mind about 
something. First it asks how many options there are that you 
cannot decide between. Then it asks how many factors 
influence your decision (e.g. price, quality, size). You are 
then asked how you might rate a factor, which you do by 
typing in a number between and 100. 

After all data is entered and all options are listed, the one 
that the computer thinks you should choose is shown in 
inverse video. 



..i\ll//..H 







:t') 



40 • GAMES FOR YOUR ATARI COMPUTER 

■^.r_< h.ti ; ■•;••••;■• fc'T L-ribiio L-Hi-LtHLiLh. ■•;••••;■■ 

ii Ken ■■;••••;-■ HuHr i tu di r . cJUNN ■■;••■■;•• 

25 DIP! R$<32>t80SUB 39: GOTO 80 

30 GRAPHICS 8 

*H3 ot i LUL.UK £ j o j £ > DC I L-UL.UK 4 j- o j> d 

50 PRINT , "DECISION flAKER" 

by PRINT j *$ $£:s£:s ££££$ s$ " 

70 PR I KjT 



32 l HfiP 82 ! INPUT R$!Q=UAL<fi$} 

90 PRINT "HUH PlHNV FfiCTORS INFLUENCE DE 

ESI ON" 

10O TRAP 100: INPUT H$ 

110 F=UflL(fl$) 

120 DIP! 0$<0&32>*F$<F&32} 

1 30 Q$< 1 >= " " : D$< 0*32 >= " " « 0$< 2 >=0$ 

1 40 F$< 1 )= " i! : F*< F*32 )= " " : F£< 2 >=F$ 

150 GOSUB 30 

I by F OR h— 1 lu u 

170 ? "ENTER NOTE OF OPTION "ifi 

180 TRPP 130: INPUT fl$:TRAP 4OOO0 

1 90 0*< < A-l >$32+ 1 A A-l >*32+3 1 >=A$ 

200 NEXT H 

210 GOSUB 30 

220 FOR P=l TO F 

230 ? "ENTER NAPE OF FACTOR "ifi 

240 TRAP 240: INPUT R$:TRAP 40880 

250 F$< < A- 1 >&32+ 1 * < A- 1 >*32+3 1 >=ft$ 

280 NEXT H 

270 GOSUB 30 

288 Din PK0#F) 

298 FOR fi=l TO 

300 FOR 8=1 TO F 

318 GOSUB 38 

320 ? "HON HOULD VOU RATE "*F$<<8-1 >$32- 



50 ? 



DECISION MAKER • 41 

iE B , 0$< < ft- 1 :>S32+ 1 , < ft- 1 >*32+3 



j4y i NPu ! 'J 

359 fKHiBM 

36@ NEXT B 

370 NEXT H 

380 GOSUB 30 

330 ? "HERE IS HHHT I THINK VOU SHOULD D 



4 1 C-0 

420 FOR B=l TO F 

430 C=C+PKh,B> 

440 NEXT B 

450 IF OTOP THEN TOP=C:HO=fi 

460 NEXT R 

470 FOR H=l TO 

480 IF P=NO THEN FOR P=i TO 3 1 : L=< H- 1 >*3 
2+p: fi*=G$< L * L > : K=ftSC< H$ >+ i 28 : 0*=: L * L >=CHR 
I- 1 -. K .■' ■ Ntrt i r 



2+P:K=fisL:(n$<L J L)): IF K=16S THEN 0$< !_,!_> 

too lr H— rfU I ntr4 Nt.'-. I r 

488 ? 0$<<ft-l >X32+1 j(H-1 >£32+31 ) 

500 NEXT M 



SAFE 
CRACKER 



(Keyboard) 

This superb game was written by Terry Davies, and it re- 
quires a machine with a 24K memory. 

The object is to get as many coins from Mrs. Warren 
Fitzdobody's safes as possible. To open a safe, you must 
guess three numbers correctly. You enter your first number 
when asked, and if you are within ± 5 of the actual number, 
you will hear the safe mechanism click. If you take more than 
10 guesses for any number, the alarm is triggered and the 
police will arrive (you will see the flash of their headlights 
through the window). 

If you get the first number right, proceed to number two 
and then three. If you manage to guess all three numbers 
correctly (a probability of 1 in 970,299) the safe will open and 
you will receive some coins. You then proceed to another 
room and try again. 

Luck is involved in this game, but so too is skill. The skill 
involves learning the logic to crack the safe. After playing 
this game, you may think twice before practicing this art for 
real! 



d REP1 $£ SAFE CRACKER - '*'•£ 

3 REF1 tt WRITTEN BV TERRV DfiUlES tt 

4 rep! :m$:m:m.t&m:m-:mw:m:m-s 

5 GRAPHICS 2:FLHSH=0:p=lu:Din M*< 5 ;,D*< 3 
208>jC<4>.»PT$<S2}! T r=6 

10 POKE 798, P+ 19: POKE 709, 145: POKE 752,8 
: POKE 712*145! POKE r'l 0,145 



42 



SAFE CRACKER • 43 

25 POSITION 4,6:? #6; "safe cracker" : S08U 

B 6880 

39 IF PEEKX 53279 >=6 THEN 1000 

35 P=P+0.1:FLHSH=FLHSH+i:IF FLASH >50 THE 

N POKE 709,P:IF FLASH >50 THEN POKE 708,1 

45 : FLflSH=-20 : POKE 53279 , O 

4a IF FLASH=0 THEN POKE 709,145: IF FLASH 

=0 THEN POKE 70S, P: POKE 53279,0 

50 IF P<2O0 THEN 30 

1 OOO GRAPH I CS 7 : PX=4 : LC=40 : X=0 : V=0 

1005 GOSUB 5100 

1007 ? "PLEASE WHIT." 

1010 GOSUB 30000 

102O FOR 1=0 TO 4: POKE 708+ I , C< I > : NEXT I 

1030 GOSUB 5199 

1040 POKE 752,1: POKE 709,0:? :? " HE 

RE IS THE SHFE...SHHHHHH! ! ! " : FOR N=l TO 

1500: NEXT N:? CHR*<125> 

1043 ? " VOU BETTER PUT THE SIDE LIGHT 
N":? " THERE'S NO ONE AROUND .. PRESS STAR 

T":POKE 53279,0 

1045 IF PEEKX 53279 X >6 THEN 1045 

1050 POKE 709,202:? CHR*< 125 >i "THAT 1 9 BE 

ITER VOU CAN SEE NHAT VOU":? "ARE DOING 

NOW" I FOR M=l TO 2000: NEXT W 

1055 ? CHR$< 125 >: GOTO 2000 

10G0 GOSUB G00G 

1070 ? CHR*< 125 >i "PRESS START TO HAUE AN 
OTHER CRAD<" 

1071 POKE 710,30: FOR H=l TO 2O0: NEXT W:p 
OKE 710, 138: FOR N=l TO 99: NEXT H:POKE 71 
9,148: FOR H=l TO 250: POKE 710,138 

1072 FOR W=l TO 99: NEXT H:POKE 710, 148: F 
OR H=i TO 250: NEXT N:POKE 710, 138: FOR H= 
i TO 10y:NEXT httPOKE 710,148 

1073 FOR H=l TO 250: NEXT W:POKE 710,138: 
FOR W=l TO 100: NEXT N:POKE 710,148 
1074P0KE 53279,0: IF PEEKX 53279 ><>6 THEN 

1072 
1075 GOTO 1820 

2080 A=INT(RND< 1 >*S1 >+18: B=INT< RND< 1 >$81 

H10sC=INT<RND< 1 >S81 >+10: J=0 

2003 J=J+l:? M WHATS VOUR FIRST NUF1BER 



44 • GAMES FOR YOUR ATARI COMPUTER 

1 TO 99 ": INPUT H: IF N>99 OR N<1 THEN 28 
93 

2085 IF J=ll THEN GOSUB 3950: GOTO 1060 

2006 IF NOfl THEN 2O0S 

2007 GOSUB 3350: GOTO 2499 

2006 IF N>0-5 AND N<fi+5 THEN G05UB 3980: 
SOTO 28w3 

2010 IF_N>fi+5 OR N<fl-5 THEN GOSUB 4000: G 

0T0 2003 

20 1 i GOTO 20O3 

2499 J=8 

2500 J=.J+l:? "WHHTS VOUR SECOND NUMBER": 
INPUT N: IF N>99 OR N<0 THEN 2580 

2513 IF J=ll THEN GOSUB 3950: GOTO 1060 
2520 IF NOB THEN 2530 
2525 GOSUB 3850 : GOTO 2999 

2530 IF N>B-5 AND N<B+5 THEN GOSUB 398G: 

SOTO 2580 

2535 IF N>B+5 OR N<B-5 THEN GOSUB 4OO0:G 

Ofo 2508 

2540 GOTO 2508 

2999 U=0 

SOOO ? " WHflTS VOUR THIRD NUMBER"! INPUT 

N.'IF N>99 OR N<8 THEN 3O0O 

30O5 J=.J+1 

3O10 IF .J= 1 1 THEN GOSUB 3950: GOTO 1068 

3028 I F N< >C THEN 3036 

3825 GOSUB 3858:? "VOU HfiUE OPENED THE S 
HFE " : .J=8 : COLOR @ : PLOT 4 1 , 38 : DRfiWTO 39 #16 

3826 J=.J+l:IF J>3 THEN 3828 

3827 DRFIWTO 4 1 + J , 16: DRRHTO 4 1 + J * 38 : GOTO 
3826 

3828 CO= I NT< RND< 8 >*200 >+ 1 88 : ? CHR*< 1 25 > i 
"NELL DONE , THERE NHS "iCOi" COINS IN": 
? "THAT SHFE ! ! " 

3829 TT=TT+CO:? "NOW TRV THIS ONE.....": 
FOR W=i TO 1888: NEXT N:GOTO 1828 

3838 IF_N>C-5 HND N<C+5 THEN GOSUB 3988: 

SOTO 3088 

3835 IF N>C+5 OR N<C-5 THEN GOSUB 4888 :G 

OTO 3000 

3048 GOTO 3888 



i ib-j 



SAFE CRACKER • 45 

3858 FOR 1=1 TO 100! SOUND 0,T, 10,8: NEXT 
T:? "VOU ARE RIGHT": SOUND 0,0,0,0: RETURN 

3900 FOR 8=20 TO 15 STEP -4: NEXT 8: SOUND 
0,N,10,14:FOR W=l TO 3: NEXT M: SOUND 0,0 
,0,0: RETURN 

3850 ? "BLiriEV ! ! VOU HAUE SET THE ALAR 
PI OFF":? "LETS SCARPER THE POLICE ":R 

=0 

3880 ? "VOU NICKED ";TT;" COINS FROP1 THE 

SAFES" ;:TT=8 

3888 FOR N=28 TO 15 STEP -4: NEXT N: SOUND 
O,N,i0,14:FOR W=l TO 33: NEXT N: SOUND 0, 
0,8,0: R=R+l: IF R=28 THEN RETURN 
3888 SOTO 3888 

400O ? " VOU ARE HRONG TRV AGAIN !":R 

ETURN 

5 1 80 DL=PEEK< 560 >+PEEK< 56 1 ::'*256 : FlEn=PEEK 
< 106 >#256: DAT=PEEKc: DL+4 >+256*PEEK< DL+5 ) 
5U38 RESTORE 52O0: FOR P=l TO 62: READ A:P 
T*< P , P >=CHR$( A > : NEXT P 
5118 ST=DAT+V*LC+ 1 NT< X^PX ) : RETURN 

5198 GOSUB 5110:A=USR<ADR<PT*>,ST,flOR<D$ 
::',BVT,LIN,LC::': RETURN 

5200 DATA 104,184,133,204,104,133,203,10 
4, 133,206, 104, 133,205, 104, 104, 133,207, 10 

4,184 

5210 DATA 170,104,184,133,208,164,287,13 

Dj 1 i 1 »iO-J 

ja^.k.i L<h I i-t i t-j , ao-5 , i _'b , i o£ , £ljj , £uo , ^4 f , ^t 

16T 

5238 DATA 283,181,208,133,283,144,2,230, 
204 , 24 , 1 65 , 285 ,101, 287 , 1 3 6 , 205 , 1 44 , 2 , 230 
5248 DATA 286,202,208,218,86 

S000 FOR •!=! TO 8: SOUND 0#47#10#8"FOR L= 

1 TO 188: NEXT L: SOUND 8,64, 18,8: F6R L=l 

TO 188:NEXi L:HEXT J 

688 1 SOUND 8 , 8 , 8 , 8 : RETURN 

20000 DATA O , O , O , O , O , O , O , O , 8 , 8 , 8 , 6 , 8 , , 8 

2000 1 DATA , , , , , ,8,8,8,8,0,0,0,0, 

20002 DATA 0,0,0,12,8,8,8,8,8,8,8,8,8,8, 

8 

28883 DATA 8 , 8 ,8,8,8, 8 , 8 ,8,8,8,8,0,0,1 85 



46 • GAMES FOR YOUR ATARI COMPUTER 

20864 DATA 63, 255, 207, 255, 63, 2^,207, 2" 
, 63 , 255 , 207 , 255 , 1 92 , 1 32 , 

20005 DATA , ,0,0, , , , , , , , , , f 

20006 DATA 0,0,0,0,0,0,0,0,195,12,63,2" 
,207,255,63 

20007 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 3 
2, 192, 192,0, Li, 0,0,0 

20008 DATA ,0,0,0,0,0,0,0,0,0,0,0,0, , 

20009 DATA , , , 1 95 , 1 2 , 63 , 255 , 207 , 255 , 6 
3 , 255 , 207 , 255 , 63 , 255 

200 1 DATA 207 , 255 , 1 92 , 1 92 , 1 92 , , ,0,0,0 

,0,0,0,0,0 

20011 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,195 

Jill 

20012 DATA 63,255,207,255,63,255,207,255 
, 63 , 255 , 207 , 255 ,192,192,132 

20013 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 

20014 DATA 0,0,0,0,0,0,0,0,195,12,63,2" 
,207,255,63 

200 1 5 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 9 
2,192,192,0,0,0,0,0 

20016 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 

20017 DATA 0,0,0,135,12,63,255,207,255,6 
3 , 255 , 207 , 255 , 63 , 255 

2001S DATA 207,255,192,192,192,0,0,0,0,0 

,0,0,0,0,0 

20019 DATA 0,0,0,0,0,0,63,255,207,255,19 
2,0,0,195,12 

20020 DATA 63,255,207,255,63,255,207,255 
, 63 , 255 , 207 , 255 , 1 92 , 1 92 , 1 92 

20021 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 

20022 DATA 0,63,255,207,255,192,0,0,195, 
12, 63 , 255 , 207 , 255 , 63 

20023 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 9 

2,192,192,0,0,0,0,0 

20024 DATA 0,0,0,0,0,0,0,0,0,0,0,63,255, 
207,255 

20025 DATA 192,0,0,195,12,0,0,0,0,0,0,0, 

0,0,0 

20026 DATA 0,0,0,192,192,0,0,0,0,0,0,0,0 

,0,0 

20027 DATA , 0,0,0, , , 63 , 255 , 207 , 255 , 1 9 



SAFE CRACKER • 47 

2,0,0,135,12 

2002S DATA 63,255,207,255,63,255,207,255 

,63,255,207,255, 132, 192, 132 

20023 DfiTfl 0,0,0,0,0,0,0,0,0,3,255,255,2 

4@ , @ , 

20030 DfiTfl 0,63,255,207,255,192,0,0,195, 

2003 1 DfiTfl 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 9 
2,192,192,0,0,0,0,0 

20032 DfiTfl 35,65,35,85,92,0,0,12,0,0,0,6 

T OSS -'iTi" 0=^5 

20033 DATA 1 92 ,0,0,1 95 , 1 2 , 63 , 255 , 207 , 255 
, 63 , 255 , 20 7 , 255 , 63 , 255 

20034 DATA 207 , 255 , 1 92 , 1 92 , 1 92 , , , ,0,0 



20035_UflJfl 0,0,12,0,0,0,63,255,207,255,1 
32 , , @ , i yy , 1 d 

20036 DATA S3 , 255 , 207 , 255 , 63 , 255 , 207 , 255 
,63,255,ci0,-,255,192,192,192 

20037 DfiTfi 0,0,0,0, , 30 , , , , 43 ,0,0,3,0 

,0 

20033 DfiTfi 0,63,255,207,255,192,0,0,195, 

■i ■-• C-~i "lETC -;|"V"? "iCC r- — 

i il , DO , l1 ■_'-_' , ^itf t i C-JJ , DO 

20039 DfiTfi 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 3 
2,192,192,0,0,0,0,y 

2Q040 DfiTfi 30,0,0,0,132,0,0,3,0,1,35,35, 
y5,yy , y 

20041 DfiTfi 0,0,0,135,12,63,255,207,255,6 

20042 DfiTfi^ 207 , 255 , 1 32 , 1 32 , 1 32 , , , , , 
, 80 , ■_■ , i 95 j 3 , y 

20043 DfiTfi 0,0,0,1 32 ,1,64, 63 , 255 , 240 , 255 
,132,0,0,135,12 

29044 DfiTfi 63,255,207,255,63,255,207,255 
,63,255,207,255, 132, 132, 132 

20045 DfiTfi 0,0,0,0,0,30,16,51,3,0,0,0,0, 
iyy, 1 

20046 DfiTfi 63 , 35 , 35 , 240 , 255 ,132, , , 1 35 , 

12,0,0,0,0,0 

20047 DfiTfi 0,0,0,0,0,0,0,0,132,132,0,0,0 

,0,0 

20043 DfiTfi 30 , 4 , 1 32 , 1 2 , , , , , 43 , 1 , 63 , 8 



48 • GAMES FOR YOUR ATARI COMPUTER 

28649 DATA 1 92*8 *8* 195* 12*63* 255*287 #255 

20059 DATA 207 * 255 , 1 92 * 1 32 , 1 92 * , * * * 

, oW j C'J j 1 Si j 4o , W 

20051 _ DHTfl 8*8*8*12*1*69*81*85*248*255*1 

92 , j'Jj 1 95 j 1 !i 

20052 DATA 63*255,287,255,63,255,207,255 

i~'"7 "iCC - -ti-L-n "iCC i i-i-- H |-i-- -f :-.- 

, bi , £-D-J , £.(3 I' , £.-J-_i , 1 di j 1 Z>lL , 1 3£ 

20053 DATA ,0,0,0,8, 68 , 68 , 3 , 1 92 , , * , 

•i •- •: 

20054 DATA 69 , 65 , 85 , 248 , 255 , 1 92 , 8 , 8 , 1 95 , 
1 2 , 63 , 255 , 207 , 255 , 63 

28855 DATA 255 , 287 , 255 , 63 , 255 , 287 , 255 ,19 
2,192,192,8,8,8,8,8 

28856 DATA 88 , 28 , 1 92 , 1 92 , 8 , 8 , 8 ,8,3,1, 69 , 

"■IT i-i C" "I .i f-i OrC 

b-j , oo , ii4u , c. jO 

20057 DATA 192,0,0,195,12,63,255,207,255 
, 63 , 255 , 287 , 255 , 63 , 255 

28858 DATA 207 , 255 , 1 92 , 1 92 * 192 *3 * 1 92 , * 

,0,88,16,195,8,8 

28059 DATA 0,0,0,3,1, 69 , 85 , 85 , 248 , 255 , 1 9 
2,8,8,135,12 

28868 DATA 63,255,287,255,63,255,207,255 
,63,255,207,255, 192, 192, 192 

2886 1 DATA 48 , 8 ,8,8,8, 88 , 88 ,8,1 78 ,178,17 
0, 170, 170, 178, 194 

28862 DATA 69,8,85,248,3,8,8,8,195,12,63 
,255,287,255,63 

28063 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 ,19 

2*192* 195*8*8*8*8*0 

28864 DATA 88 , 64 , 1 92 , 8 , 38 *2 *64 *8*8 * 2 * 69 , 

O-J , OJ , £.4b , £.-_' •_> 

28065 DATA 192,8,0,195,12,63,255,207,255 
, 63 , 255 , 287 , 255 * 63 * 255 

28866 DATA 287 , 255 ,132,1 32 , 248 ,8*8* 8 ,8,0 

,88,76,12,132,8o 

28867 DATA 2,64,8,6,2,63,85,85,248,255,1 
Oil , t< * eJ * i oV> , i £. 

28866 DATA 63,255,287,255,63,255,287,255 
,63*255*287*255*192*195*8 

28863 DATA 8,8,8,8,0, 88 ,8,8,8, 88 , 2 , 64 , 8 , 

20070 DATA 63,85,85,248,255,132,8,8,135, 



SAFE CRACKER • 49 

12*8*0* 192.*8.,8 

2907 1 DfiTfl a , #0*0*12* , , * 240 , 1 92 , * 8 , 

0,0,0 

£0072 DfiTfi 88, 0,0,0, 88,2, 64,8,0, 2, 69,95, 
85,240,255 

20073 DfiTH 192, 0,8, 195, 12, 63, 255, 25^,25!=; 
, G3 , 255 , £07 , 255 , G0 , 1 5 

20074 DfiTfi 207 , 255 , 207 , ,8,8, 8 , 8 , 8 , 8 , 88 , 
8,8,8,88 

20875 DfiTfi 2 , 64 , 8 , 8 , 2 , 69 , 85 , 85 , 248 , 255 , 1 
82,8,8,3,12 

28076 DfiTH 63,255,207,255,63,255,207,255 

cr -i lt ~ii"j-7 -ice *~tA fla -t i-j-- .- 
, -_ib , i _i , £Xt i , ^_i-_i , itO , 1 3£. * to 

28077 DfiTfi 8 ,8,0, , , 98 , 1 78 , 1 78 , 1 78 , 88 , 2 
, b4 , 8 , 8 , £ 

20078 DfiTfi 69 , 85 , 85 , 240 , 255 , 1 92 ,0,0,3,12 
#63 * 255 , 287 , 255 , 63 

20079 DfiTfi 255,287,255,56,15,287,255,8,8 
,192, 8 , 8 , 8 , , 8 

28888 DfiTfi 85 , 85 , 85 , 85 , 88 , 2 , 64 , 8 , 8 , 2 , 74 , 

--CC -»etc -i.iH -.:rcr 

£8881 DfiTfi 18£, 8, 8, 3,1 £,63, £55, 207, 255, 6 

-7 -ice- -if-i - ? "re E-i-- -j cr 

20082 DfiTfi 287 , 248 , 1 82 , 8 , 1 92 , 8 , 8 , 8 , 8 , 8 , 8 

,8,8,0,8 

£0083 DfiTfi £ , 64 , 8 , , £ , 85 , 85 , 85 , 80 , 255 ,19 
2 , , , 3 , 1 ll 

28084 DfiTfi 63,255,207,255,63,255,207,255 

, _ib , 1 _i , £.£1 r , 1 £. 1 ■!• , i dd , i 3£ 

20085 DfiTfi 8 , 8 , , 8 , 8 , 8 , 8 , 8 ,8,8,2, 64 , £1 , 8 , 
@ 

28886 DfiTfi 8,8,8,8,8,8,8,8,3,12,63,255,2 

87,255,63 

£8087 DfiTfi 255 , 207 , 255 , 56 , 1 5 , 1 92 ,8,3,1 92 

,192*0*0*0*8*8 

20883 DfiTfi 8 , #0 , 8 , 8 , £ , 64 , 8 , 8 , 8 , fi , 63 , 255 

,287,255 

20088 DfiTfi 192,8,0,3,12,63,255,287,255,6 

-7 --ETC" -ii - -! - ^ ~tCC" cr t •- 

20090 _ DfiTfi 8 ,8,1 95 ,192,1 92 , 8 ,8,8,8,8, 8 , 8 

,8,0,8 

£889 1 _ DfiTfi _ 2 , 64 , 8 , 8 , 8 , 8 , 63 , 255 , 287 , 255 , 1 

9£ ,8,8,3, 1 £ 



50 • GAMES FOR YOUR ATARI COMPUTER 

28092 DATA 0»0#0#0#8#0*0#8*8*0j.0*12*3#13 

2 j 132 

26093 DATA 0*0*0*8*0j-8#8#8#8*0#2#64*8*0j 

20094 DATA 0,63,255,207,255,192,8,8,3,15 

--C-ET -iC-IT -iETE- ".CL -flTEr 
, Ll ■_'•_! , l! ■_!_' , il-.'-J , il _'-_' , filJJ 

20895 DATA 255,255,255,251,12,68,255,195 
,132, 192,8,8,8,8,8 — 

29896 DATA 8,0,0,8,8,2,64,8,8,8,8,63,255 

28097 DATA 192,0,0,3,12,8,8,8,8,8,8,0,8, 

1 1 , y 

2809S DATA 12,12,3,192,192,0,0,0,0,0,0,8 

, , y , @ 

20099 _ D ATA _ 2 , 64 ,0,0,0,0, 63 , 255 , 287 , 255 , 1 _ 

9Li , , , 3 , Id 

28188 DATA 8,8,0,8,8,8,8,8,11,0,12,12,3, 

192,192 

20101 DATA 0,8,8,8,8,8,8,8,8,8,2,64,8,8, — - 


28182 DATA 8,63,255,287,255,192,0,0,3,12 

,0,8,8,0,8 

20103 DATA 0,0,0,11,12,12,12,3,192,192,0 

,0,8,8,8 

28184 DATA 8,8,8,8,8,2,64,8,8,8,8,63,255 

■ - ifj~? -iiz-c- 
t£J3( ,^._ij 

28185 DATA 192,8,8,3,12,8,8,8,8,8,8,8,8, 

11,12 

20 1 06 _ DATA 12,12,3,192,192,0,0,0,8,0,0,0 

, , , 6 _ 

20107 DATA 2,64,0,0,8,8,8,8,8,8,8,8,8,3, 

28188 DATA 8,8,8,8,8,8,8,8,11,12,12,12,3 

•i i-j-i ^ Ci'~ 

, J. dil , I SC — 

28 1 89 DATA 8,8, 8 , 8 , 8 , 8 ,0,8,8,8,2,64,8,8, 

28118 DATA 8,8,8,8,0,8,8,8,3,12,8,0,0,0, 

20111 DATA 0,8, 8, 11, 12,12,12,3,192, 192, 8 
, , , @ , 

28112 DATA 8,8,0,0,8,2,64,8,8,8,8,8,8,8, 

28113 DATA 8,8,8,3,12,0,8,8,8,8,0,0,0,11 



SAFE CRACKER • 51 



20114 DATA 12, 12, 3, 192, 192, 0,0, 0,0, 0,0,0 

,0,0,6 

20115 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,3, 

•i ■-( 
i i£. 

20118 DATA 0,0,0,0,0,0,0,0,11,12,12,12,3 
,192,192 

20117 DATA 0,0,0,0,0,0,0,0,0,0,2,64,0,0, 



20118 DATA 0,0,0,0,0,0,0,0,3,12,0,0,0,0, 



20119 DATA 0,0,0,11,12,12,12,3,192,192,0 

,0,0,0,0 

20120 DATA 0,0,0,0,0,2,64,0,0,0,0,0,0,0, 

20121 DATA 0,0,0,3,12,0,0,0,0,0,0,0,0,11 

20122 DATA 12,12,3,192,192,0,0,0,0,0,0,0 

,0,0,0 

20123 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,3, 
±±. 

20124 DATA 0,0,0,0,0,0,0,0,11,12,12,12,3 
,192,192 

20125 DATA 0,0,0,0,0,0,0,0,0,0,2,64,0,0, 



20126 DATA 0,0,0,0,0,0,0,0,3,12,0,0,0,0, 



20127 DATA 0,0,0,11,12,12,12,3,192,192,0 

,0,0,0,0 

20128 DATA 0,0,0,0,0,2,64,0,0,0,0,0,0,0, 



20129 DATA 0,0,0,3,12,0,0,0,0,0,0,0,0,11 

tltm 

20130 DATA 12,63,255,192,192,0,0,0,0,0,0 

,0,0,0,0 

20131 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,3, 
12 

20132 DATA 0,0,0,0,0,0,0,0,11,12,12,51,1 
92,252,63 

20133 DATA 192,195,195,15,192,0,0,0,0,0, 
_ 2,64,0,0,0 

20134 DATA 0,0,0,0,0,0,0,0,3,12,0,0,0,0, 





52 • GAMES FOR YOUR ATARI COMPUTER 

2Q135 DATA 0*0*0#7#i2#12#48#252j.i32»i92» 

@ , , 1 ^ 

20136 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0, 

H 

20137 DflTfl 0,0,0,3,0,63,243,252,255,63,2 
07 , 243 , 240 , 247 , i 2 

20 1 38 DOTH 207 , 240 , 1 5 , 1 92 , 48 , , ,0,0,0,0 

,0,0,0,0 

20139 DflTfl 2,64,0,0,0,0,0,0,0,0,0,0,0,0, 



20140 DATA 0,0,0,0,0,0,0,0,7,12,12,48,3, 

1 Q~' \>- 
j. CU. , t' 

20141 DflTfl 0,0,0,0,0,0,0,0,0,0,2,64,0,0, 


20142 DflTfl 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 

20143 DflTfl 0,0,0,7,11,255,252,0,240,0,0, 

0,0, 0,0 

20144 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0, 



20145 DflTfl 0,0,0,0,0,15,255,63,207,207,2 

4-7 -tC- - i -tCC* CC- -i 
■!.• , £.-J£. , il ■_!-_■ , ■_'■_" J il 

20146 DflTfl 192,12,0,63,0,0,0,0,0,0,0,0,0 

,0,0 

20147 DflTfl 2,64,0,0,0,0,0,0,0,0,0,0,0,0, 

29 1 48 DflTfl @ * 8 * @ # r »0*0 * * 4 j 2 * 1 76 * * 48 * 

15,192 

20 1 49 DflTfl , , , , ,0,0, ,0,0,2, 64 , , , 



20150 DflTfl , , , , , , , , , , , , , , 

20151 DflTfl 0,0,0,7,0,172,0,0,0,240,0,0,0 

,0,0 

20152 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0, 

y 

20153 DflTfl 0,0,0,0,0,0,255,243,252,252,2 
•_'ll , i. •_!•_• , bJ , 1 dd i j. ac 

20154 DflTfl 40,0,3,0,12,0,0,0,0,0,42,170, 

170,170,170 

20155 DflTfl 170,170,170,165,35,85,85,85,8 

20156 DflTfl 0,0,0,0,0,0,0,0,4,51,10,0,0,0 

20157 DflTfl 0,0,0,0,0,0,0,0,0,0,2,64,0,0, 



SAFE CRACKER • 53 



28 1 58 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,0, 8 , 8 , 8 , 8 

28159 DflTfl 8,8,8,4,12,194,128,8,48,8,248 
,8,0,8,8 

28188 DATA 8,8,8,8,8,2,64,8,8,8,8,8,8,8, 
a 

28161 DATA 8,8,8,8,8,8,8,8,8,8,8,8,8,8,3 

28162 DATA 8,168,8,8,8,12,8,8,8,8,8,8,8, 
, 8 

28163 DflTfl 2,64,8,8,8,8,8,8,8,8,8,8,8,8, 

28164 DflTfl 8,0,0,0,0,8,0,0,0,0,48,40,0,3 

28165 DflTfl 3,255,255,255,252,8,8,8,8,8,2 
j 64 , , @ , S 

28 1 66 DflTfl , , , , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , , , a 
28167DATA 0,0,8,0,8,12,10,0,0,192,3,192 

,0,0,0 

20168 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0, 



20 1 69 DflTfl , , , , , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 
28 1 78 DflTfl 51,8,1 28 , 8 , 48 , 3 , 1 92 , 8 ,8,8, 8 , 

,0,0,0 

28171 DflTfl 2, 64, 8, 8, 8, 8, 8, 8, 8,0, a, 0,8, 8, 

28172 DflTfl 8,8,3,0,0,8,0,0,0,0,12,0,32,0 

•i cr 
, 1 -J 

20173 DflTfl 3,192,0,0,8,0,0,0,10,170,170, 
170, 17a, 16a, a 

20174 DflTfl 0,2,168,18,178,138,128,21,72, 
78,5, 143, 197, ZZ6*d55 

28175_ DflTfl 243,255,8,8,8,3,8,8,0,8,195,1 
yii!,a,a,u 

28 1 76 _ DflTfl 8 , 8 , 8 , 42 , 1 78 , 1 78 , 1 70 , 1 78 , 1 68 , 

a , a , 4z , 1 zy , 1 54 » 1 86 

28177 DflTfl 8,5,85,69,65,127,8,8,8,8,8,8, 
8,8,0 

28178 DflTfl 8,192,2,0,8,51,192,0,0,0,0,0, 
d. , 1 7a , 1 7a 

20179 DflTfl 178, 178, 178, 178, 128,2, 178, 138 
, 1 7a , i 68 , a , 1 3w , d. i , 'd. i , 7 1 

28188 DflTfl _ 2 13, 255, 255, 223, 287, 248, 255,2 
52, 8, 8, 8, 48, 8, 128,8 



54 • GAMES FOR YOUR ATARI COMPUTER 

£3 181 DflTfl 15,132,8, 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 

8,8 

£8132 DflTfl 43,243,68,42, 135, 254, 63, 295* 2 
55,245,83,81 ,35,255,284 

28183 DATA 243, 63, 252, 8, 8, 8, 12, fl, 32# 8,3# 

132,8,8,8 

28134 DflTfl 8,8,8,8,8,8,8,8,8,8,168,32,5, 
28 1 85 DflTfl 1 63 , 42 , 1 78 , 2 1 , 73 , 245 , 8 , 8 ,0,4, 

■+, ± jb-j/ >i!,b 

20136 DflTfl 0,3,0,11,255,255,132,0,0,0,0, 
8 , 8 , 8 , 8 

£8137 DflTfl 8,0,0,0,42,170,138,170,170,42 

, i bo , 1 b-.i , O-J , £JJ , ^4- .J 

28138 DflTfl 127,241,63,255,287,207,207,25 
5,132,0,0,0,132,12,9 

20133 DflTfl 8,8,8,8,8,8,8,8,8,8,8,8,8,2,1 
78 

28 1 38 DflTfl 168,18,178,1 68 , 1 78 , 1 68 , 1 , 84 , 1 

65,78,5,81 ,85, y5, 287 

£8131 DflTfl £87, £07, £55, £48, 0,0, 0,0, 12,0, 

0,0,0,0,0 

£8 1 92 DflTfl 8 , 8 , 8 , 8 ,8,8, 8 , 8 , 8 , 8 ,8,8, 8 , 8 , 8 

£8 1 33 DflTfl , , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 

£8134 DflTfl 8, 8, 43, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 

,8 

£8135 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,8,8, 8 , 8 , 8 

28136 DflTfl 8,8,8,8,8,8,8,8,8,8,8,8,12,12 

,8 

£8 1 37 DflTfl 8 , 8 ,8,8, 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 

28 1 98 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 *0 , , 8 , 8 , 8 , 8 , 8 , 8 

£8133 DflTfl 8, 8, 8, 8, 8, 8, 8, 3, 1£, 8, 8, 8, 8,8, 

28288 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , , 8 , 8 , 8 

2828 1 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,8,0,0,0, 8 

£8282 DflTfl 8 , 8 , 8 , 284 , 8 , 8 ,8,8, 8 ,8,8,8, 8 , 8 

,y 

£8283 DflTfl 0,0, 8 , 8 ,8,8,8, 8 , 8 , 8 ,8,8, 8 , 8 , 8 

28284 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 48 , 



28285 DflTfl 8 , 8 , 8 , 8 , 8 ,8,8,8,8,8,8,8,8, 8 , 8 
28206 DflTfl 8 ,0,8,8, 8 , 8 , 8 , 8 , 8 , 8 ,8,8,8,8, 8 



SAFE CRACKER • 55 

20207 DATA 0,0,0,0,0,0,0,0,12,0,0,0,0,0, 


20208 DflTfi , , ,0,0, , , , , ,0,0, , , 

20203 DATA 0,0,0,0, , @ , , , , a , a , , @ , , 

20210 DATA 0,0,0,0,12,0,0,0,0,0,0 

30000 BVT=40 : L I N=79 : 8R=? : C< >=6 : C< 1 >=0 : C 

( v }= 1 48 : C< 3 >=70 : C< 4 >=0 

30010 RESTORE 20000: FOR P=l TO 3143 

30020 READ A : D*C P , P >=CHR*': A ;■ 

30O30 NEXT P 

30040 RETURN 



TANK BATTLE 



(Two joysticks) 



In this game, designed for two players, you move your tank 
and fire so as to destroy your opponent. This gives you one 
point. Pushing the joystick up activates the tank's engines 
and propels it forward. Push the joystick left and right to turn 
left and right, respectively. Push the red button to fire. Good 
hunting! 



2 REP! t 




TRNK BATTLE 


— - j— jj - rn -*■ 






o rtc.ii ■"■ 




4 REH # 


Hr 


itten by Paul Bunn 


Kt.fi -"j"--*;"-'' 


; : .. : ; : .. : ; : -.v-. : ; : --v- 


fc$&tttt£&&t'&tttttt 


-■ pj r - m 

D Pii—i i 







Ifi DIH F1*<20)#F2*<20>*X<8>»V<8>!FI*<1>= 

CHR$< i 72 > : F 1 $< 20 >=CHR$< 1 72 > : F 1 1-< 2 >=F 1 $ : F 
-i.t_u ii 

£.4— » j f j j j j u / i i ; j j 

20 RhP1=PEEK< 196 >-16: POKE 756*RflT): IF PEEK 
(203K>200 THEN 80SUB 890! POKE 203*206 
30 RESTORE 360: FOR Q=i TO 8:REftD XX#W:X 
( q >=yy : V< Q >=VV : HtXT Q s C 1 = 1 s C= 1 

40 GRAPHICS 2 

50 '? #6;" tank battle ! ' 

60 ? #Si H ttt&ttttttttt" 

70 ? :? " ENTER TIRE TO PLFiV "a INPUT TI 

80 REP1 

Hfi GRAPHICS 17: POKE 756, RON: Fl = 14: F2=14: 

X=5:V=14:Q=15:H=5:FFl=i:FF2=l 

100 3=STICK<0>:IF 3=7 THEN 0=0+1: IF OS 

THEN C=l 

: C<1 THEN 0=8 

56 



TANK BATTLE • 57 

1£@ IF S=14 THEN COLOR 32" PLOT X.»V:X=X+X 

( r: ) ; v=V+V< C ')'• SOUND 8 #288*8 #8 

ISO IF S<>14 THEN SOUND 0,6,0,0 

146 IF X<2 OR SMS THEN X=X+-X<C*:X=<X=2 

)«8+<X=18>:*:2 

150 IF V<2 OR VMS THEN ¥=Y+-Y<C>: V=< V=2 

>tl 8+'; ¥=18 >$2 

ISO COLOR C:PLOT X*V 

170 IF STRI8<8>=8 AND FF1=1 THEN GOSUB 3 

ISO IF 3TRIG<1>=8 AND FF2=1 THEN 80SUB 5 

ISO S=STICK<1>:IF S=7 THEN C1=C1+1:IF CI 

>S THEN Cl=l 

2O0 IF S=ll THEN Cl=Cl-l:IF Cl<2 THEN CI 

219 IF s=i4 THEN COLOR 325 PLOT Q # H"Q=Q+X 
< C1>:W=W+V< CI >: SOUND 1,188,8,8 

220 IF S<>14 THEN SOUND 1,0,0,0 

230 IF Q<2 OR QMS THEN Q=S+-X< CI >: Q=<Q= 

2)$i8+< Q=18>$2 

240 IF N<2 OR H>18 THEN W=N+-V< C 1 > : H=< H= 

1 s J-&2-K H = 2 )•& i s 

250 COLOR CI : PLOT Q,M 

280 IF FK1 THEN POSITION 8,21:? #6, "out 

o t shots " : FF 1 =0 : SOTO 280 
270 POSITION 8,21:? #6i"shotsl"iFl$( 1,F1 

--. - II !1 

/ j» 

2S8 IF F2<1 THEN POSITION 8,22:? #6; "out 
of shots" :FF2=6: 88T8 388 
2S8 POSITION 0,22:? #6; "shots2" ;F2*< 1,F2 

■-. . ii H 

.-' j 

3yy POSITION 5j«0«? #6#Sls POSITION 15*m:* ? 
#6*82: POSITION 8,0:? #6; "TIPIE" : POSITION 

3r 1 « I »b, il'1 I '-. i ± .' r 

310 IF PEEKX 5327S >=6 THEN 88T0 38 

320 Tl=TI-8. lsIF TK8.1 THEN 888 

338 80T0 108 

340 x 1 =X+X< C > : V 1 =¥+V< C ) 

358 IF C=l OR C=5 THEN FC=18 

388 IF C=3 OR C=7 THEN FC=12 

370 IF C=2 OR C=G THEN FC=11 



58 • GAMES FOR YOUR ATARI COMPUTER 



38U IF C=4 OR C=8 THEN FC=13 

336 FOR F=l TO 5: LOCATE XI .»Y1 « XX: COLOR F 

C:PL0T XI, Yl 

4fiM IF XX<>32 AND XX<10 THEN hH:=;I IB 700 :S 

i=Sl+l:HH=ls80T0 450 

410 SOUND 0,255-F*50,8, 15: SOUND 1,150-FS 

30,8,155 

420 IF Xl>18 OR XK1 THEN 450 

430 IF Vl>18 OR VK1 THEN 450 

440 X1=X1+X<C>:Y1=Y1+Y<C}:NEXT F 



460 FOR E=l TO 5: COLOR 32: PLOT XI, VI 

470 IF Xl>18 OR XK1 THEN 500 

48W IF Vl>19 OR VK1 THEN 500 

490 Xl=Xl+X<C):Vi=Yi+Y<C>:NEXT E 

500 SOUND , , , : SOI IND 1 , 9 , , : F 1 =F 1 - 1 : 

IF HH=1 THEN HH=0:GOTO 90 

510 RETURN 

520 X2=Q+X< C 1 > : V2=H+V< C 1 ) 

530 IF Cl=l OR CI =5 THEN FC=10 

540 IF Cl=3 OR Cl=7 THEN FC=12 

550 IF CI =2 OR CI =6 THEN FC=11 

560 IF CI =4 OR CI =8 THEN FC=13 

570 FOR F=l TO 5: LOCATE X2,V2, XX: COLOR F 

C:PLOT X^,V2 

580 SOUND m , 2^5— F:^^m , F: , l Pi : ;=;i"ti IND 1*150-F# 

30*8,15 

590 IF XX<>32 HND XX<10 THEN GOSUB 750: S 

2=S2+l:HH=l:60T0 636 

GOO IF X2>18 OR X2<1 THEN 630 

610 IF V2>18 OR V2<1 THEN 630 

620 X2=X2+X< C 1 > : V2=V2+V< C 1 '? : NEXT F 

630 X2=Q+X( CI >! V2=N+V( CI ) 

640 FOR E=l TO 5: COLOR 32: PLOT X2A'2 

650 IF X2>18 OR X2< 1 THEN 680 

660 IF V2>19 OR V2< 1 THEN 680 

670 X2=X2+X(C1 ): V2=V2+Y< CI >:NEXT E 

680 SOUND O , O , O , O : SOUND 1 , ,8, : F£=F2- 1 : 

IF HH=1 THEN HH=0:6OTO 36 

690 RETURN 

700 FOR 6=15 TO STEP -3 



™ 



TANK BATTLE • 59 

71@ FOR H=8 TO 2 

720 SOUND H,RND< 1 X&58+ 100,8 »6 

730 NEXT H 

740 NEXT 6: FOR 8=0 TO 2: SOUND 8,0,8,0: NE 

XT 6:p,ETURN 

758 FOR 8=15 TO 8 STEP -3 

768 FOR H=8 TO 2 

778 SOUND H,RND< 1 ;'*58+ 1 08 , 8 , 6 

788 NEXT H 

738 NEXT 8: FOR 8=8 TO 2: SOUND 8,8,8,8: NE 

XT b:p.ETUKN 

see position 5,10:? #6;"6AnE ouer" 

818 S1=0: S2=0: FOR 0=1 TO 5 

820 SOUND O , 1 ee+C ,10,15: SOUND 1,1 20+C , 1 

,15:SUUND 2,80+0,18,15 

838 0=0-1: IF 0=-36 THEN 858 

840 SOTO 828 

850 0=0: NEXT Q 

860 FOR Q=0 TO 2: SOUND Q,0, 0,0: NEXT Q 

870 IF PEEKX 5327S )=6 THEN RUN 

388 POKE 53278,8: SOTO 378 

898 FOR Q=8 TO 1824: fi=PEEK< 57344+Q >: POKE 
KAP1S258+Q,A:NEXT Q:C=8 

800 READ R:IF A=-l THEN RETURN 

910 POKE RfiP!£L£56+C , A : 0=0:+ 1 : GOTO 300 

920 DATA 24,24,213,213,255,255,255,219,2 

5,58,188,249,187,62,12,^4,254,254,48,127 

, lii7,4o * 254 * £.54 

325 DATA 24,12,62,1 87 , 243 , 1 00 , 50 , 25 

330 DATA 213,255,255,255,213,213,24,24,2 
4,50, 124,221 , 153,38,76, 152 
335 DATA 127,127,12,254,254,12,127,127,1 
52,76,38, 159*221 , 124#50#24 

940 DATA 112,120,248,254,255,127,68,56,2 

4,24,24,24,24,^4,24,24,1,2,4,8,16,32,64, 

1 28 , , , , ii55 , ii55 , , , 

950 DATA 128,64,32,16,8,4,2,1,-1 

368 DATA 8,-1,1,-1,1,8,1,1,8,1,-1,1,-1,8 

^ -i 



DIGIT DODGE 



(Keyboard) 



Use the keys "Z" and "X" to move your number cruncher. 
Press "." to shoot and crunch any numbers the same as those 
shown on the number cruncher. Destroying a mystery 
points character ("*") adds a bonus to your score. When the 
invading numbers reach your digit dodger, the game is over. 

v bu ( U i ■;•-_•« hfc.11 ■■;••••;•■ Uibi I uuubt dt r.eUNN 

1 FOR 1=59 TO 75 STEP 2: SOUND 8., 1 ,16, 15: 
NEXT I:I=y:V=Pl+48:IF r1=10 THEN V=l@ 

2 Q$=CHR*<¥>:IF fl*< 1 , 1 >=Q$ THEN I=1:S=S+ 

U3 

3 IF fi$<2,2>=Q* HND 1=0 THEN H*<2,2)=fl*< 
IjI >: I=l:S=S+28 

4 IF H*<3,3>=Q$ HND I=0 THEN fi*< 3 , 3 >=f\$< 

2.2 >: M< Z*2 >=H*f: 1 , 1 >: I=i : S=S+38 

5 IF H*'::4,4::'=Q$ HND 1=0 THEN fl$< 4 , 4 >=(&< 
3,3>:fi$'::3,3 >=A$'::2,2 >:fi$< 2,2;'=fi*<:: 1,1 >: 1 = 1 
: S=S+40 

6 IF H*':5,5>=Q* AND I=0 THEN fi*< 5 , 5 >=H$< 

4.4 >: ftp:. 4,4 >=fi$< 3,3 >: R$< 3,J >=H$< 2,2 >: 1 = 1 
: S=S+50 

7 IF R$<8#8>=Q* AND 1=0 THEN H$< S , S ;=(&< 

5.5 >: fl$< 5,5 >=fi*< 4,4 >: fl$< 4,4 >=H*< 3*3 >i H*'; 

3.3 ;'=H$< 2*2 >: 1 = 1 : S=S+Sti 

3 IF 1=1 THEN fl*<l,l>=" ":N=N+1 

10 IF 1=1 HND Q*=CHR*< 10> THEN FOR 1=255 
TO 20 STEP -IS: SOUND 0,1 , 10, 15: NEXT I:S 

=S+< INK RND< ::'S7+3 >tl00 :.' 

11 POSITION 1,0:? #S,-SC*iS:? #bi" high J 
";HS 

12 SOUND 8,0,0,0: RETURN 

20 FOR 1=14 TO STEP -2: SOUND 0,H+ 15*38 
,10,1: NEXT I : RETURN 

135 DIP! ftK"6).»Q$< 1 >,SC$< 6):G0SUB 2088 
140 GRAPHICS 2:SETC0L0R 4,2,2: SETCOLOR 2 

60 



DIGIT DODGE • 61 

•-: A 

158 A$=" ":fl*<6#6>=CHR*< RND< 8 >$3+48 :> 

1 60 S=0 : N=5 : H=0 : U= 1 8 : GOSUB 1 1 

165 V=P1+48:IF Pl=10 THEN V=10 

176 P03ITI0H 5,5:? #6iCHR*< V>; " : " ;A$ 

1 80 I =PEEK< 764 >: 1 2=PEEK< 53775 > 

198 IF 1=22 AND 12=251 THEN 1*1=11+ 1 : GOSUB 
20: IF Pl>10 THEN 1*1=0 

200 IF 1=23 AND 12=251 THEN 1*1=0-1: GOSUB 

20: IF PK8 THEN 11=10 
210 IF 1=34 AND 12=251 THEN GOSUB 1 
215 1=0 

220 TRAP 1000:0=0+1: IF <MJ=INT<Q/U> THEN 
H*(N,H >=CHR*< RND< O >* 1 0+48 > : I = 1 

222 IF 1 = 1 THEN IF U$< N,N;'=CHR$<58:> THEN 

fl*(N,N)=CHR*(ie) 

224 IF 1=1 THEN N=N- 1:1=0 

225 IF INT'::RND<0>:?:20;'=3 THEN U=U-i:IF U< 
8 THEN U=8 

230 TRAP 40000: GOTO 165 

1000 ? #6:? #6;". . invaded. . ":FQR 1=90 TO 

220 STEP ll:FOR H=80 TO 90 STEP 2: SOUND 

0,H, 10* 15: SOUND 1,1,10,15 
1010 SETCOLOR 4,H,4 
1020 POKE f"09,INT'.:RND<0>:?:l5>Sie+8 
1030 NEXT H:NEXT I : SETCOLOR 4,2,4: POKE 7 

r- a -ice 

1 040 SOUND , , , : SOUND 1 , , , : I F S >HS 
THEN HS=S: POSITION 0,2:? #6 i "high score 

1 I | | II 

1050 ? "ANOTHER TRV "*:TRfiP 1050: INPUT A 

.+- 

JE- 

1855 IF A*< 1,1 >="N" THEN GRAPHICS 0:? "G 

OGOBVE. ":? :? :END 

I860 IF fi$<l,l>= H V M THEN 14W • 

1078 GOTO 1858 

2888 FOR P=l TO 6 

2818 READ N 

2828 sc*<p,p>=chr*':n::' 

2838 NEXT P 

2848 DATA 243 , 227 , 239 , 242 , 229 , 1 86 

2858 RETURN 



GRAND PRIX 2 



(Joystick) 

Use the joystick to control the car as it speeds down the 
track. If you manage to reach the finish you win a bonus and 
step value is doubled for your next run. 

18 REP! t* GRAND PRIX 2 - P.BUNN tt 
15 P I =5 : SOSUB 3000 : CRPSH= 1 088 
28 X2= 1 4 : X= 1 1 6 : S=PEEK< 1 88 >-8 : Q=S£256 : FOR 
N=Q+512 TO Q+648:P0KE N, 8: NEXT N:POKE 5 
4279,3 

38 POKE 559,43: POKE 53248, X: POKE 784,216 
:POKE 784,78: POKE 53258,1 

48 FOR N=Q+552 TO 0+561: READ ft: POKE N,A: 

NEXT N 

58 DflTfi 129,135,165,24,24,153,213,165,36 

,ii'4 

88 GRAPHICS 8:SETC0L0R 2,8,8: POKE 53277, 
3: POKE 559,46 

85 POKE 752,1: POKE 53278, A 

66 FOR P=8 TO 23: POKE 281,X2:? ,32$: NEXT 

r 

78 :-;=>; T I HK 1 - 8 > : X=X+"- 3=7 >$2 : X=X-( 3=11 -'£2 : P 

OKE 53248, X 

72 SOUND 8 , 48 , 1 8 , 1 5 : SC=SC+P I : SOUND 8,8, 8 

,8 

75 IF THEN 0=8 :Z=2: GOTO 118 

88 H=PEEK':: 53778 > 

98 IF A>85 AND fl<178 THEN Z=2 

188 IF H>178 AND X2<15 THEN Z=3:0=l 

185 IF A<85 AND X2>2 THEN X2=X2-1:Z=1:0= 

1 

118 POKE 281,X2 

115 IF fi=132 AND NOT I THEN ? ,F$:I=l:G 

0T0 145 

128 IF Z=l THEN ? ,81* 

62 



GRAND PRIX 2 • 63 

139 IF Z=2 THEN ? ,S2$ 

148 IF Z=3 THEN ? ,S3$:X2=X2+1 

145 V=PEEK< 53252 >: IF V<>8 AND I THEN GOT 

2000 

150 IF VO0 THEN GOTO CRASH 

160 GOTO 7G 

1000 REP1 :?::?: VOU CRfiSHED! ## 

i@l@ N=INT<RNCK8>#18>:P0KE Q+552+N,PEEK< 

53770 >: SOUND 8*RNCK8>:fc28+28#80, 15: POKE 7 

04 ,PEEK< 53770) 

1020 IF PEEK< 53770X240 THEN 1018 

1030 POKE 53248,0:"' :? "VOU SCORED :" ; SC : 

? :? :? "HIT HNV KEV.":POKE 764,255 

1035 SOUND 8,8,0,8 

1040 IF PEEK< 764 >=255 THEN 1040 

1050 RUN 

2000 FOR V=8 TO 255: POKE 710, V: NEXT V 

2005 _? CHR*C125);"VGUR SCORE :";SC:POKE 
7 1 8 , 8 

2010 ? " BONUS : 1888": B= 1868 

2828 FOR 6=1 TO 1800 STEP 185B=B-10!SC=S 

C+ 1 O : POS I T I ON 14,8:? SC : POS I T I ON 14,1: ? 

Bj" ": SOUND 8,G.--4, 10, 10: NEXT G 

2030 SOUND 0,0,0,0 

2040 ? :PI=PI*2:? "STEP UfiLUE NOH IS " ;P 

2045 RESTORE : 1=0 

2858 GOTO 28 

3000 DIPT Ff<8>,Sl$ i : y>,S2*<8>,S3f<8> 

3010 RESTORE 3000: FOR P=l TO 8 

3020 READ fl,B,C,D 

3830 F$<P,P>=CHR$<fi) 

3040 S1$<P,P>=CHR*':B> 

3859 S2*'::P,P>=CHR$':C> 

3060 S3$':P,P;'=CHR*<D> 

3070 NEXT P 

3088 RESTORE : RETURN 

3830 DflTfi 160,6,22,7,1 38 , 32 , 32 , 32 

3 1 OO DflTfi 20 1 , 32 , 32 , 32 , 286 , 32 , 32 , 32 

3118 DflTfi 201,32,32,32,211,32,32,32 

3128 DflTfi 288,32,2,32,168,6,32,7 



CITY BOMB 



(Joystick) 



Your plane has developed engine failure and is slowly de- 
scending on a city below. By bombing the city, and killing 
millions of people, you will be able to land safely — otherwise 
you will crash! Press the joystick button each time you want 
a bomb to drop. 






D 


^* 


D 


^p* 


,D 




4 


& 




#L 




** 




n. 


« 


D:. 


• • 


. • , 


■ 




* 


*. 


'ssstess 






M 



CITY BOMB • 65 

i@ repi x:mxx:mxxxx:mxxxx:mxxxxxx 

20 REP1 XX CI TV B0P1B UERSION II tt 
36 REH tt WRITTEN BV PAUL BUNN *X 
40 REP1 tt JANUARY 1383 XX 

50 REP1 ttttt^ttt:ttttttttttttttttttttt 

S0 REP1 

S5 IF PEEK< 203 >=PEEK': 106 >-8 THEN 80 

70 80SUB 10000: REP1 * INITIALIZATION t 

80 GRAPHICS 8:SETC0L0R 2*8 #0: SETCQLOR 4* 

y*y 

90 OPEN #1 #4*0* "K: tt : POKE 752,1 

100 ? "WHAT SKILL LEUEL <1-S>" 

110 SET #l*A:A=A-48 

120 IF fl<l OR A>3 THEN 110 

130 A=A+3 

135 POKE 756 * PEEK-: 283 > 

140 ? CHR*'::i25>:F0R 1 = 1 TO 33 

150 V=INKRND<0>:?:fl>+l 

160 FOR P=22 TO 22-V STEP -1 

170 POSITION I,P:? "*":REP1 XCITV CHARACT 

ER * 

188 NEXT P 

130 FOR P=15 TO O STEP -1 

20O SOUND 1 1 $S+2@ * 10* P 

£18 NEXT P 

220 NEXT I 

230 COLOR 34 

240 PLOT 1*23:DRAWT0 33*23 

25@ y= i : y=@ : BP1=0 : SC=0 

£S0 POSITION X,V:OX=X:OV=V 

270 PRINT "■;"*: REH XPLANE CHARACTER* 

280 X=X+l 

230 IF X=33 THEN X=l:¥=¥+1 

300 IF X>25 RND V=22 THEN 1000:REPi XP1ADE 

IT!* 
310 LOCATE X*V*Z 
320 POSITION OX*OV:? m " 
330 IF Z=ASC< "*";■ THEN 2O08:REP1 XCRASHX 
340 IF STRIS':0>=0 AND BP1=0 THEN 80SUB 30 
90: REH X BUTTON ROUTINE * 
350 IF BP1=1 THEN GOSUB 4000: REP! X P10UE B 



66 • GAMES FOR YOUR ATARI COMPUTER 

OHB ROUTINE $ 

368 GOTO 268 

1888 POSITION 13,18:'? "LANDED !" 

1818 POSITION 13,11:? "*&%*%.%%*" 

1828 FOR T=8 TO 6888 STEP 28 

1838 SOUND 0,1*10,15* NEXT T 

1835 SOUND 0,0,0,0 

1848 ? CHR*< 125 >i "WELL DONE , VOUR SCORE 
HAS "iSC 

185U LNU 

2888 POSITION X-1,V-1 

2818 ? CHR*< 7 ) i CHR$< 1 24 > i CHR$< 6 ) 

2828 POSITION X-1,V 

2838 ? "-t-" 

2848 POSITION X-1,V+1 

2858 ? CHR$< 6 ) i CHR$c: 1 24 > ; CHR$< 7 ) 

2868 I- OR F-288 TO 18 STEP -18 

2878 FOR I=P-5 TO p+5 

28S8 SOUND 8,1,128,15 

2898 NEXT_I_ 

2118 SETCOLOR 2,C,2: SETCOLOR 4,C,2 

2128 NEXT P 

2138 SOUND 8,8,8,8 

2148 POSITION 6,105? "Another try ?" 

2158 SET #i,A 

i i bW i r Lntv»< m .- ! — t i HfcN hUN 

2178 IF CHR^Axy'N" THEN 2158 

2188 GRAPHICS 8: END 

3888 Bfl= 1 : BX=V, : BV=V+ 1 ! K=0: RETURN 

4888 POSITION BX , BV : ? " " 

4818 BV=B¥+l: LOCATE BX,BY,Z 

4828 POSITION BX,BV 

4838 ? CHR$< 33 ) : REH ^BOHB CHARACTERS 

4848 IF Z=ftSC< "$" ) THEN 5888 

4858 IF BV=22 THEN POSITION BX,22:? ;: ": 

Bn=0 

4868 RETURN 

5888 POS I T I ON BX , BV : ? " & " : SOUND 8 , 238 ,12 

0, 15: su^ot+Sy 

5818 POSITION 2,8: ? "SCORE: " iSC 



CITY BOMB • 67 



5@2@ K=K+l:IF K=5 THEN BH=@: POSITION BX 



5036 POSITION BX,BV:? " " 

5040 SOUND 0,0,0,0: GOTO 4050 

1O000 GRAPHICS O 

10O10 SETCOLOR 4,9,0: SETCOLOR 2,9,0 

1O012 ? "CI TV BOriB - PLEASE WAIT" 

1O014 ? ,, :mS:¥:S:mtt:msW»tt« ,, 

iOOlS POKE 752,1: PRINT 

1O020 R=PEEK< 186 >-8 

10O30 FOR P=0 TO 1023 

10040 POKE R£25S+P,PEEK<57344+P> 

1005O NEXT P 

10060 READ I 

10070 IF I<0 THEN POKE 283, R: RETURN 

1008O FOR P=0 TO 7 

1O090 READ K 

10100 POKE R$256+': 8*1 >i-p,K 

1O110 NEXT P 

10129 GOTO 10060 

10130 DATA 4,255,129,129,129,129,129, 



129 



1014O DATA 5,16,8,132,194,255,2,4,8 
10150 DATA 6,170,85,170,85,170,85,170^ 
10160 DATA 7,0,36,60,24,24,60,24,0 
1017O DATA -99 




ENGULF 



(Keyboard) 

In control of the space-cruiser Battlestar, you must engulf an 
alien by destroying all the sectors of space around it. Neither 
you nor the alien (shown as a letter A) can move onto the 
outer border of the area of space under view (these forbid- 
den areas are shown as "-"). The alien moves one, two or no 
spaces in any move, and you enter your move as two co- 
ordinates, pressing RETURN after each one. Any area you 
blast appears as a blank in the area otherwise shown as 
asterisks. You engulf the alien by totally destroying all the 
squares onto which it could move. You are not allowed to 
land on the alien, and will destroy yourself if you do so. 

The alien keeps a watch on the space around it, and signals 
to your computer the degree of danger it senses, so you 
know, more or less, what the alien is thinking. 

The best strategy is to get the alien trapped against one of 
the sides, as it limits the alien's possible moves. The alien is 
aware of this and, using the "intelligence" in lines 6145 and 
6161, will tend to move away from the sides, to minimize the 
chance of being trapped. Knowing this, you may be well- 
advised to build a "fence" of blank areas in a curve around 
the alien, trying to hold it into the sides, or force it to move 
to the sides. 

There is a highest score feature. 

1 _ SRAPH I CS @ : SETCOLGR 4 , 8 , @ : SETCGLOR 2 , 8 

3 Din H< 18*18) 
5 HISCORE=S 

10 REN ENGULF 

20 REH COHHRTNELL 1982 

30 GOSUB 9000: REP1 INITIALISE 

40 GOSUB 8000: REP1 PRINT GUT 

68 






ENGULF • 69 

58 GOSUB 70@ti: REH ACCEPT PLOVER DECISION 

60 GOSUB 6000: REP! UPDATE ALIEN 

70 TIP1E=TIP1E-1 

75 SHOTS=SHOTS+l 

80 IF TIP1E=0 THEN 6570 

85 GOSUB 8800 

90 GOTO 50 

910 fnk=30 

5000 REP1 COLLISION 

5810 PRINT "VQU HIT THE PiLIEN, CAPTAIN" 
5020 PRINT "AND HAUE BEEN DESTROYED" 
5030 GOTO 6570 
6000 REP1 UPDATE ALIEN 
6010 REP1 CHECK IF SURROUNDED 
602O H=@ 

6030 IF A<P1-1,N>=2 THEN H=H+1 
6040 IF A<::P1-1,N-1 >=2 THEN H=H+1 
6050 IF A<n,N-l>=2 THEN H=H+1 
6060 IF A<P1,N+1>=2 THEN H=H+1 
6070 IF fKH-l,N+l>=2 THEN H=H+1 
6080 IF A<Pi+l,N+l >=2 THEN H=H+1 
6090 IF A<Pl+l,N-i::'=2 THEN H=H+1 
6100 IF Aai+1,N>=2 THEN H=H+1 
6110 IF H=8 THEN 65O0:REP1 SURROUNDED 
6120 REP1 PIOUE ALIEN 
6125 E=Pl:F=N 

6130 n=Pl-INT< RND< 1 >&2>+INTCRN0< 1 >$2> 
6140 IF PK2 OR H>9 THEN 6130 
6145 IF <PK4 OR N>7> AND FMK1»0.7 THEN 
6136 
6150 N=N-INT<RND< 1 >*2>+INT(RND< 1 ::'S2> 

6160 IF N<2 OR N>9 THEN 6150 

6161 IF >:N<4 OR N>7> AND RND-: 1 > >0 . 7 THEN 
6150 

6162 IF A<P]j.N>=2 THtN 6130 
6165 A£E#F>=0 

6170 A<P1,N>=1 
6300 RETURN 
6500 REP1 SURROUND 
6505 GOSUB 8000 



70 • GAMES FOR YOUR ATARI COMPUTER 

6518 PRINT "ENGULFED! WELL DONE" 
6520 PRINT "IT TOOK VOL! " i SHOTS ;" SHOTS" 
fi^7.fi PRINT "AND VOU DID IT WITH "iTIHE;" 
T I PIE UNITS" m "LEFT" 
6540 Q=TinE*i25.b7 
6550 PRINT "VOUR RATING IS "iQ 
6560 IF Q>HISC0RE THEN HI3C0RE=Q 
6576 PRINT "HIGHEST SCORE SO FAR IS "iHI 
SCORE 

6589 PRINT 

6530 PRINT " ENTER 1 FOR ANOTHER GAHE,2 T 
END" 

6606 INPUT A 
6610 IF A=l THEN 10 
6620 PRINT "OUER AND OUT , CAPTAIN" 
6630 END 

700O REf! ACCEPT PL AVER DECISION 
7O10 PRINT "WHICH SECTOR WILL VOU SHOC 



7O20 PRINT " ACROSS "i 

7030 TRAP 7O30: INPUT S STRAP 48000 

7035 IF S<2 OR S>3 THEN 7030 

704O PRINT Si" AND DOWN"; 

7O50 TRAP 7O50: INPUT R:TRAP 40808 

7055 IF R<2 OR R>3 THEN 7050 

7OS0 IF A<R,S>=1 THEN 5888: REF1 HIT ALIEN 

«END OF GAPE 

7O70 IF A'::R,S>=2 THEN PRINT "SECTOR ALRE 

ADV DESTROYED "! FOR P=20O TO 255: SOUND 0, 

P , 18 , 1 5 : NEXT P : SOUND 8 # * 8 * 

7090 IF A'::R,S>=2 THEN RETURN 

7100 PKR#S>=2 

7110 RETURN 

S00O REH PRINT OUT 

3885 PRINT CHR$<125> 

SO20 PRINT 

8O30 PRINT " ALIEN SENSES DANGER OF F 

ACTOR-" i Hi" !; 

SO50 PRINT "6ATTLESTAR COMPUTER REPORTS: 
%, "HIGHEST SCORE IS "iHISCORE 
3060 PRINT 



iTLIT II 



ENGULF • 71 



HUSO PRINT 

3990 PRINT B ALIEN NOH AT " i\\i" " iY\ 

3100 PRINT 

I HE, "SHOTS F 



3110 PRINT "TIHE LEFT 
ED? u i SHOTS 



yi^y PRINT 

3130 FOR K=l TO 10 
8140 FOR J=l TO 10 



-j - ? .-i CC70Q 1 '"-1 " 



814= 



KAZ UR K>H 



K2 OR J>3 THEN PR 



UR J >9 THtH 8 1 



3150 Ih A<K,J}=0 THEN PKIN1 

, K£y+ J3-4 j 1 @ i 1 5 

8130 IF fl<K,J}=l THEN PRINT "fi"i:FOR P=2 

TO STEP -l: SOUND 8,P, 12j 15: NEXT P 

3170 IF A<K,J>=2 THEN PRINT " " ; : FOR P=4 

O TO STEP -2: SOUND 0,P,8,15:NEXT P 

8180 SOUND 0,0,0,0: NEXT J 

3190 PRINT K 

8200 NEXT K 

821W PRINT 

3390 RETURN 

3000 REP] INITIALISE 

3010 TIf1E=30 

9020 SHOTS=0 

3030 H=0 

3050 FOR B=l TO 10 

9055 FOR 0=1 TO 10 

9060 H<B,C>=0 

9065 IF B<2 OR B>9 OR C<2 OR C>3 THEN A< 

B,C )=2 

3067 NEXT C 

9070 NEXT B 

90S© n=INT(RND< 1 )*7;'+2 

3090 N=INT'::RND': 1 ;'*7>+2 

9100 A<P1,N>=1 

9900 RETURN 



COLOR 
PATTERN 



This short program produces a pattern in graphics Mode 10 
and then gives a hypnotizing effect by rotating the colors. 



iy liRHPHIL'S iy 

29 POKE 704 .,: 8 

40 POKE 706 i 3$ i 6+4 

50 POKE 707,. 12 

55 POKE 708 j. 1 2 

RPi FOR X=S in 79 



yy uQLQR C 

90 PLOT X*X 

100 DRflHTO 79 — X#X 

HO DRflHTO 79-X*191~X 

120 DRflWTO X r 1 9 1 -X 

130 DRflHTO X*X 

4 .4 C rsrrrfl ■. l -"- 1 -- CtfYTfVTC :~i~i ~ii IDC' 

L*rD Kfcl I •■;-••-:■• nu i H i c L-Ul_UUrSo 

ISO fl=PEEKX 705 ) 

160 POKE 705 J PEEK<706; 1 

170 POKE 706 j. PEEK w 07) 

185 POKE 707,PEEK<708> 

186 POKE 708* fi 

190 H=8IN<fl>:REH » DELftV 

200 60T0 150 



72 



COLOR 
PUZZLE 



(Keyboard) 



This marvelous puzzle should prove challenging to solve. 
Here are the rules. 

The first four moves must be placed in the four corners 
(01,10,16 and 25). 

To place a color square on the grid, it must be next to 
another square horizontally or vertically, not diagonally. A 
color square must not be placed next to another color 
square of the same color in the eight squares around it. 
Proceed to place color squares in this fashion until all 25 
spaces are filled. 
The squares are numbered as follows: 







10 










05 


11 


17 








02 


06 


12 


18 


22 




01 


03 


07 


13 


19 


23 


25 




04 


08 


14 


20 


24 








09 


15 


21 










16 







Note that a zero is required before a single digit, and that 
RETURN does not have to be pressed. If an illegal move is 
attempted the computer will bleep. When you cannot move, 
just type "99". 



73 



74 • GAMES FOR YOUR ATARI COMPUTER 

20 REM ti BV PAUL BUNN tt 

3@ GRAPHICS 1@ 

49 POKE 704 .,12 

50 POKE 705., 3$ 16+4 
60 POKE 706*12*18+6 
70 POKE 707 , 7$ 16+2 
80 POKE 70S , 15X 16+4 

90 POKE 769*0! POKE 710*15*16+10 

100 COLOR 6: POKE 703,4 

110 FOR X=8 TO 46 6TEP 8 

120 READ V 

130 FOR X2=8 TO 7 

140 PLOT X+X2+12,98-V 

150 DRfiWTO K+X2+12*90+V 

160 NEXT X2 

170 NEXT X 

180 DATA 10,30,^0*70,50,30*10 

130 DN1 X<25>,V<25> 

200 FOR X2=l TO 25 

2 1 READ X , V : X< X2 >=% * V< K2 >=V 

220 NEXT X2 

230 DATA 12,80,20,60,20,80*20,100 

240 DATA 28 * 40 , 28 * 60 , 28 , SO , 28 , 1 00 

250 DATA 28 ,128, 36 ,20,36, 40 , 36 , 68 

260 DATA 36 , 88 , 36 * 1 00 ,36,1 20 ,36,1 40 

270 DATA 44 , 40 , 44 , 68 , 44 , 88 * 44 , 1 00 

288 DATA 44 , 1 20 , 52 , 60 , 52 , 88 , 52 , 1 08 

288 DATA 68,88 

388 F6R P=l TO 25: COLOR 5: PLOT X<F>+3*'i 

P !■■+ 1 6 : NEXT P 

318 OPEN #1*4,8,"K:" 

311 C£IL=INT<RND<0>&5>+1: COLOR C8L 

312 B=B+< C0L=3 '•' "• R=R+< COL= 1 > '• 6=G+< CQL=2 
VL=VL+< C0L=4 >: BL=BL+< C0L=5 > 

313 IF COL=l AND R>5 THEN R=5:60T0 311 

314 IF C0L=2 AND 8>5 THEN 6=5* GOTO 311 

315 IF C0L=3 AND B>5 THEN B=5i60TQ 311 

316 IF C0L=4 AND VL>5 THEN VL=5:GC 



COLOR PUZZLE • 75 

317 IF C0L=5 fiND BL>5 THEN BL=5:G0T0 311 
313 FOR P=8 TO 10: PLOT P*0:DROWTO P*2©:N 
EXT P 

329 GET #1,KEV:KEV=KEV-48:KEV=KEV*10 

325 GET #l,KEY2:KEV=KE¥+KEV2-48 

326 IF KEV=33 THEN 2000 

327 IF KEV<1 OR KEV>25 THEN PRINT CHR$<2 
53 ) ; GOTO 320 

330 LOCfiTE K-::KE , t'>/t'«:KEV> j C 

340 IF COS THEN PRINT Cf-R*< 253 ): GOTO 32 

y 

350 IF KEVOl fiND KEYO10 HND KEVOIG ftN 

D KEV025 HND K<4 THEN PRINT CHR*-: 253 >:6 

0T0 320 



7C"C 
i. I. I 



IF J=l THEN K=l 



360 IF KEV=1 OR KEV=10 OR KEV=16 OR KEV= 
25 THEN K=K+l:IF K=4 THEN J=i 
370 X=X< KEV >+3 : V=V< KEV >+ 1 
380 LOCATE X-6*V.»C1 



j.Hy u-J : -^r-i : E ■•'•■ — o j f ~ i. 



J Ud 



408 LUUHTh XjW-i? -L': 

'-? i KJ L-UwH : C. ="i > C» j T — i i j L-M" 

420 LOCfiTE X+6,t,C5 

430 lochte y+e^v-t-iz^ce 

440 LOCfiTE X* ¥+17,17 

,-i C;~j : : — : i — * i~ i "T" ! : .. : i~* I I l i ""? I - 'i~i 

■+-_"3 lULm ! c :i - bjT + if iLo 

460 IF C1=C0L OR C2=C0L OR C3=C0L OR C4= 
COL OR C^=COL OR C6=C0L OR C7=C0L OR C8= 

COL THEN ? CHR#( 253): GOTO 320 

470 ij=i; c 1 =6 >+< C3=6 >+< C5=S >+< C7=6 > 

473 I =< C 1 =0 >+< C3=0 >+< C5=0 >+< C7=0 > 

475 IF LS+I=4 fiND K>4 THEN PRINT CHR*< 253 

>!60T0 328 

430 COLOR COL 

4S5 X=X< KEV > : V=V< KEV ) 

430 FOR P=0 TO 7 

500 PLOT X+PiV 

510 DRftHTO X+FVtM-13 

520 NEXT P 

525 IF R+G+B+¥L+BL=25 THEN 1800 

530 NO=NO+liGOTQ 311 



76 • GAMES FOR YOUR ATARI COMPUTER 



1909 
1010 
1020 
1 030 
1040 
1050 

1 060 
4,9,2 

1070 
1088 
1 080 
1100 
1110 
1130 

1140 
1150 
1160 
1170 

2000 
2010 

£020 
2030 
2040 
2050 
2055 
2060 
2065 
2070 
2080 
2080 

2100 

2110 
2120 
2130 



FOR 6=205 TO 5 STEP -5 

FOR F-6-3 TO 6+3 

SOUND 8,P,10,15 

NEXT P 

POKE 704 , < I NT< RND< 6 >£ 1 5 >t 1 6 >+8 

NEXT 6 

GRfiPH I OS 8 : SETCOLOR 2,8,2: SETCOLOR 

POSITION 4,12 

? "WELL DONE YOU 50LUED THE PUZZLE" 

POSITION 4,13 

POKE 752,1 

-- II -.'.- -.'.- -.'.• -.V -.".- -.'.- -.V -.■.- -.».■ -.'.- -.».- -.'.--.».• -.*.- -.V -.'.- -J.- -.'.- -.'.- -.'.- •/.- -.'.- -.».- -.>.- -.'.- -A- -.'.- -.'.- ■}.- -.».- -.».- 1 1 
'. ■ Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y' -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- 

PQR p=8 TO 255 

SOUND O,P,10,15 

NEXT P 

SOUND 0,0,0,0 

END 

FOR 8=@ TO 256 

SOUND 0,6,10,15 

POKE 704,6--"2 

NEXT 6 

SOUND 0,0,0,0: POKE 704 , 1 2 

GRAPHICS 0:POKE 752,1 

POSITION 10, 12: POKE 710,3*16+4 

? "BOD LUCK - TRV fi6r-!lN" 

POSITION 10,13 

FOR P=0 TO 2000 STEP 20 
SOUND 0,P,10,15:NEXT P 
SOUND 0,0,0,0 

? "VOU HAD ";25-N0;" LEFT TO FILL" 

END 




BLUEGREEN 
REDYELLOW. 



STRING 
PATTERN 



This short, simple program produces lovely patterns and 
sounds. 



26 REP1 :« 



BV PAUL BUNN 1983 






39 REP1 tt%t$&&ttt*t% 

40 GRAPHICS 8+16:SETC0L0R 2j0#£ 
45 COLOR l:SETCOLOR 1,0,14 

50 FOR X=0 TO 131 STEP 18 

60 PLOT 64#191-X 

70 DRflWTO X+64#0 

SO PLOT l31-X+64#8 

90 DRflWTO 19i+64,i91-X 

100 PLOT 64, X 

110 DRflWTO X+64,191 

120 PLOT 191+64, X 

130 DRflWTO 191-X+64,191 

140 NEXT X 

145 FOR P=0 TO 14 STEP 0.2 

150 SETCOLOR 1,0, P 

155 SOUND 0,P*40,i0,15 

160 NEXT P:60T0 145 







77 



SOUND 
PROGRAM 



(Keyboard) 

This short and interesting program will produce piano-like 
sounds, remember notes and then play them back when you 
press the "ESC" key. 




78 



SOUND PROGRAM • 79 



nc\ i 



RUbRfir 



■i'kj hel ! v- : ; : - rHUL. bUNTi : ; : -¥- 

56 GRAPHICS @ 

by bETuuLuR 2 # 8 * @ « SETCOLOR 4jo»M 

\ kj I KhP 1 fc*0 

98 DIPl T< 500 > 

100 OPEN #1 ,4j6j "«! " 

105 

FERE 

L£*6 ' '"NOTES. TU KLMF PLftYED bHL' l: - 



i. j. 1J w! : fft In 1 I L. ' 4. 

115 IF H=27 THEN 160 



-• ! tr - i 

140 SOUND 8«ftjl0jX:NEXT X 

150 GOTO 110 
160 ? CHR$< 125) 
170 ? "MHftl 

180 GET #1j 

[90 M=fi-4g! 

200 FOR ,J—1 

210 S=T<J> 

220 FOR X=15 TO STEP -1 

230 SOUND 0*3* 10*X: NEXT X 



n H/t i riLi'i i offl 



235 FOR 8=1 
240 NEX1 

250 END 



j i 



1 0*< fi-1 >: NEXT G 



l f 



r 



rri 



DISPLAY LIST 

INTERRUPT 

EXAMPLE 



This program demonstrates just a little of what a DLI can do. I 
suggest you SAVE the program before attempting to RUN it, 
since it is written entirely in machine code. 



2@ RED &$ Display List interrupt :?::?: 
30 REFI tt example ti 

40 RED &t Written by Paul Burin :o: 

zr :-i r . r- m -.».■-.'.■-.».- •.'.- -.'.- -.».- -.'.- -A- -.'.- -.'.--.•.- -.'.- -.>.- -.'.- -.'.. -.'.• -.'.- -.'.- ..'.- -.•.- -.».- -.=.- -.».- -.•.- -.v -.«.- -.<.- -.'.• -.'.- 

■j kj P:!z.!i •■;•■ •■;-• •■;-• ••;■• -v- -v- -v- •"■ •-• -v- -v- ••;•• -v- -v- •"■ -v- -v- •>•• -v- •"• -v- -v- -v- •"■ ••;■■ -v- -v- ■•;•■ ••;-• 

60 S08UB 1006 

70 X=!JSR< 1536) 

iHHfi FOR m= 1536 TO 163h:REQD B:POKE Q,B: 
NEXT fi 

1 oy l UHIH ltuil b # i C'd j o , i j ( , bo ijji bo j dd , i 
57, 68, 3, lb"9, 6, 157, 69,. i, 169,12,157,74,^,1 
69,0,157 

1002 DhTH_75,3,32,86,228, 173, 48j.2, 133,20 
3, 173,49, ll, 133,204, lt'.0,0, 177,20J,2til ,15, 
240,6,209,192 

1 003 DflTfl , 208 , 245 , 76 , 63 , 6 , 1 69 , 1 43 , 1 45 , 
203, 76, 4S, 6, 1 69, 81, 141, 6,2, 169, 6, 14i, 1,2 
,169,192 

1004 DHTfi 141,14,212,76,78,6,72,173,11,2 

6,208,104,64,83 

1005 DftTfi 58 

1006 RETURN 



HO 



REACTION 
TIMER 



(Two joysticks) 



This is a short program for two players and is very simple to 
play. When you see a dot on the screen press the fire button. 
The first player to do this wins a point. The first player to get 
10 points wins the game. This program tests reflexes. 

19 REPI *■% REACTION TlflER tt 

29 REH tt BV P.BUNN , NOUEHBER ISSItt 

39 REH 

31 Din A*<39>,B$<39> 

32 ? "PLOVER l'S NAP1E "a INPUT A$ 

33 ? "PLflVER 2'S NONE "*: INPUT B* 

40 GRAPHICS 5 

45 SETCOLOR 2,3,4 

50 fl= i HT( RND< )#290 >+200 

60 FOR L=l TO A 

70 IF STRIG-: 9>=9 THEN GOTO 1898 

80 IF STRIG'::i>=0 THEN GOTO 2000 

90 NEXT L 

1 00 COLOR I NT-: RND< 9 )*3 )+ 1 

1 1 fi=RND< O )*79 : B=RND< 9 >£39 

120 PLOT R,B 

130 fl=0 

140 A=A+1 

150 IF STRIG<9>=9 THEN 3099 

169 IF STRI6C 1 >=9 THEN 4999 

179 GOTO 149 

1900 GRAPHICS 0:? "CHERT! VOU PRESSED TH 

E BUTTON TO SOON" :SC2=SC2+1 : GOTO 5999 

2000 GRAPHICS 0!? "CHEAT! VOU PRESSED TH 

E BUTTON TO SOON" :SC1=SC 1+1 : GOTO 5999 

81 



82 • GAMES FOR YOUR ATARI COMPUTER 



3@00 GRAPHICS 0=? R*;" WINS! WITH A T 

I HE OF : - " i (V 1 00 : SC 1 =SC 1 + 1= IF 

SC1>=L0 THEN 6000 
3005 GOTO 5000 

4000 GRAPHICS 0:? B*;" WINS! WITH A T 

I HE OF:- "iH.--100:SC2=SC2+l:I 

F SC2>=10 THEN 7000 

4005 GOTO 5000 

5000 ? !? !? :? 

5005 ? " ======» 

5010 7" " SCORES" 

5020 ? " ======" 

5O30 PRINT : PRINT 

5040 ? ftti" " *B$ 

5050 ? " 



5060 ':" 

5O70 ? SCI;" 

";SC2 



"PRESS 'FIRE BUTTON' WHEN R 



5088 '■' : '■'' 

EADV" 

5O90 IF STRIG':0X>0 THEN 5090 



5100 FOR 

6000 ? 

6005 ? 

7000 ? 

7005 ? 



L=l TO 190: NEXT l_:G0T0 40 

:? ft$i" WINS THE SAflE ! ! 
END 

:? Bti" WINS THE GATE ! ! 

END 







MORSE CODE 



Just type any sentence when prompted, and the program 
will convert it into Morse code; you will hear the Morse 
code through the television speaker. 

I.U REH *tZt*t**t%*%**ZJ&*ttt%%t%Kll{% 

28 REH * HORSE CODE CONVERTER BV * 

39 REF1 * P.BUNN & J. VINCENT t 

46 REH Jfc^m^imJmttS^mSJmSSSttS*: 

50 GRAPHICS O 

60 SETCOLOR 2#8»0:SETCOLOR 4,3,0 

70 DL=PEEK< 560 H25G#PEEK< 561 >+4 

80 POKE DL+2,7:P0KE DL+3,7 

90 POSITION 0,1 

LOO ? "HORSE CODE CONVERTER"; 

110 ? "*^»^:^«»*;r«««^" 
120 ? :? :? "TVPE IN PlESSflGE VOU WANT TO 
HEAR :-" 

1.30 DIP1 H$< 100:j,B$<5> 
140 SOUND 0,0,0,0: TRfiP 140: INPUT h$ 
L50 FOR X=l TO LEN<fl*> 

155 IF ft$'::X,K>=" " THEN FOR P=l TO 100s N 
EXT p:NEXT X 

160 v=HSC<:i : i* : <x,x>>-e5 

L70 RESTORE V+IOOO 

ISO B*= u ":REfiD B* 

L90 FOR 2=1 TO LEN<B*> 

200 I F B$< 2 , 2 >= " . " THEN SOUND , 30 , 1 , 1 5 

:FOR P=l TO 20: NEXT P: SOUND 0,0,0,0 

210 IF B$< 2,2 :>="-" THEN SOUND 0,30,10,15 

:FOR P=l TO 50: NEXT P: SOUND 0,0,0,0 

220 FOR P=l TO 20: NEXT P 

£30 NEXT 2 

240 NEXT X 

250 RUN 

1000 DfiTfl .- 

1.001 DfiTfi -... 

83 



84 • GAMES FOR YOUR ATARI COMPUTER 



1002 
1903 
1004 

L005 

1006 
1007 
1008 

1009 

1010 

L011 
1012 
1013 
1014 
L015 
1016 
1017 
1018 
L019 

1020 

1021 
1022 
L023 
1024 
L025 



DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 
DATA 



~ 



DOT DA 



Ih 



" 



DOT 



COMPLIMENT 
GENERATOR 



Feeling depressed? Just RUN this program, and increase 
your self-esteem immediately. 

L8 REN tt COflPLiriENT GENERATOR tt 

20 Din H$(15).B$(15) 

39 fi=INKRND< t>*i9> 

4@ B=INTCRNDa>^7> 

50 RESTORE 1000+fi 

60 READ A$ 

r0 RESTORE 2980+B 

80 READ B* 

90 ? mi" "iB$ 

95 fi=INT'::RHD(0>*16::':SETCOLOR 2,0,4: SETCO 
LOR 4,0,4 

96 FOR F=l TO 300: NEXT F 
100 RUN 

LOO© DOT A BRILLIANT 
1001 DATA LOUELV 
L0O2 DATA GREAT 
1063 DATA CLEUER 
L004 DATA INTELLIGENT 
1005 DATA NICE 
L006 DATA WISE 

1007 DATA BEAUTIFUL 

1008 DATA CHARP1ING 

1009 DATA SP1ART 

2000 DATA PERSON 

2001 DATA CHARP1ER 

2002 DATA GENIUS 

2003 DATA INDIVIDUAL 

2004 DATA OPERATOR 

2005 DATA HERO 

2006 DATA ACE 

85 



SPACE 
DOCKER 



(Joystick) 

This is one of the best programs in the book. It uses four 
players and a machine code routine to move them. No 
movement is done in BASIC, as it is too slow. 

Battling with alien invaders in some distant galaxy, your 
ship suddenly takes a direct hit. You enter the tiny escape 
shuttle with your crew, blast off, and race toward the mother 
ship where safety is assured. Your air supply, however, is 
rapidly running out: you have only 300 units left. Your 
mission, using the joystick in Port 1, is to dock with the 
mother ship before the supply expires completely. 

You use the joystick button to thrust, pushing it left or 
right to steer the shuttle toward the mother ship. When you 
succeed in docking with the mother ship, the number of air 
units you have left will be added to your score. 

Anyone interested in the machine code routine I have 
used will find the assembly listing after the BASIC listing. 




O 



86 



SPACE DOCKER • 87 

LO REPI :m:m:m:m:m:m:m£#£:m:ac 

20 REPI t SPACE DOCKER BV P.BUNN & * 

30 REPI t JONATHAN UINCENT t 

40 REPI :m##:m*:m;m:m:*$£:mJtttt# 

50 SOSUB 19000: REH « INITIALIZATION ** 

60 SOSUB 20006 

65 SOUND 0,0,3, 15: POKE 53273, R: AIR=30© 

70 X=USR< 1536 > 

SO IF PEEK<781+R*256:j=24 THEN 1090 

90 IF PEEKC 53254 >< >0 OR PEEKC 53262 >< >0 T 

HEN GOTO 2000 

LOO HlR=fiIR-l:IF AIRO0 THEN 70 

110 POSITION 4,6:? "out. of air":SC=0 

L15 POKE 53251,0 

120 FOR P=0 TO 4000 STEP 12 

L30 SOUND 0,P,10,15:NEXT P 

140 SOUND 0,0,0,0 

L50 POSITION 4,6:? "press START" 

1 55 POS I T I ON 4,4:? " sc ore : " ,- SC 

L60 POKE 53279,0 

170 IF PEEKC 53273 K >6 THEN 160 

L30 POSITION 4,6:? " ":60SUB 1 

0100: GOTO 65 

1 000 IF PEEK-: 203 >>PEEK< 203!) AND PEEK* 209 

>< PEEKX 204 > THEN 1020 

L010 GOTO 2000 



L02O 


POSITION 4,6:? " 


docked" 






1025 


POKE 53251 


,0 








L03O 


FOR P=230 


TO 10 


STEP -10 






1040 


FOR X=P-5 


TO P+5 








L050 


SOUND 0,Xi 


.10,15 








1060 


NEXT X 










L070 


SETCOLOR 1 


,RND<0 


>*16,10 






1080 


NEXT P 










L030 


SOUND 0,0i 


.0,0 








LI 00 

R 
LI 10 


POSITION 21,4:? 


" rzma i n i i 


^9 


air: " 


SC=SC+flIR: 


GOTO 150 






20A0 


FOR P=781 


TO 896 


:IF PEEK* 


:r$ 


256+P 


24 THEN NEXT P 










2005 


POKE 5325 J 


.,6 









;AI 



88 • GAMES FOR YOUR ATARI COMPUTER 



2910 E=53770:POKE P+256*R+RNO<0>*8,PEEK< 

E) 

2920 SOUND 0,PEEK<E>,3,15:POKE 796,PEEK< 

E> 

2030 
2035 
2040 

10000 



3=S+l:IF S<50 THEN 2010 
POKE 53250,0: POKE 53251,0 
S=0:SC=S:GOTO 140 
GRAPH I CS O : DL=PEEK< 560 H256*PEEK< 5 



615+4: POKE 32,0 
10010 POKE DL+5,7:P0KE DL+6,6:P0KE DL+7, 
6:P0KE DL+8,G:P0KE DL+9,6 
10020 SETCOLOR 4,3,4: 3ETC0L0R 1,3, 4: POKE 
DL+10,6 

L0O30 SETCOLOR 3,3,3: SETCOLOR 1,13,13 
10040 POSITION 0,4: POKE 752,1 

? " SPfiCE DOCKER "; 

? " you are losing air "; 
? " and P1UST dock with "; 
? " the pass i ng mother " j 

? " ship GOOD LUCK! % 

R=PEEK< 1 06 >-8: RESTORE 

FOR P=R*256+512 TO R#256+1024 

POKE P,0:NEXT P 

FOR P=10 TO 17 

REfiD fi,B 

R#256+512+P,H 

RS256+643+P,B 

P 

7,224,62, 124, 1 1 1 ,246 

255,255,214,107 

124,62,60,60,4,32 



10050 

10055 
L0063 

10070 
10080 
10090 
10100 
10110 
10120 
10130 

L0140 

10150 
10160 
10170 
19130 
10190 
10200 
10210 

10220 
10230 
10240 
10250 
10260 
10270 
10233 
10293 



POKE 

POKE 

NEXT 

DfiTfi 

DfiTfi 

DfiTfi 

FOR P=0 TO 7 

READ fi 

POKE R*256+768+80+P,fl 

NEXT P 

DfiTfi 24,63,36,60,36,126,30,255 

FOR F-0 TO 6 

REfiD fi 

POKE R#256+896+88+P,fi 

NEXT P 



SPACE DOCKER • 89 

L9300 7 CHR$< 125 >: COLOR 160: PLOT 0,20: DR 

AWTO 39,20:? CHR$U60 ): POSITION 0,8 

10318 POKE 704,8*16 

10320 POKE 705, 8* 16 

10330 POKE 706,15X16+10 

10340 POKE 707,3*16+4 

10350 POKE 53277,3 

10360 POKE 559,46 

10370 POKE 53248,110 

10380 POKE 53249,126 

10390 POKE 53250,108 

10400 POKE 53256,1 

10418 POKE 53257,1 

10420 POKE 53258,1 

10430 POKE 53259,1 

10440 POKE 623,1 

10450 POKE 54279, R 

10460 DATA 24,60,126,255,255,0,6 

10470 POKE 203, HO: POKE 204,126 

10480 POKE 208, INK RNDU>*2>+1: POKE 209, 
108 

10485 K=R*256+768:P0KE 206,INT<K^256>:PO 
KE 205 , K-<: 256*PEEK< 206 > ) 
10490 RETURN 

20000 FOR A=1536 TO 1676: READ B.'POKE P,B 
:NEXT A 

20001 DATA 104,165,208,201,1,240,17,230, 
283,230,204, 165,204,201 ,200,208,21 , 169, 1 
,133,208,76,38,6,198 

20002 DATA 203,198,204,165,203,201,50,29 
8,4, 169,2, 133,208, 165,283, 141 ,0,208, 165, 
204, 141 , 1 ,208, 173, 120 

28803 DATA 2,201,11,248,10,173,120,2,201 
,7,240,8,76,72,6,198,209,76,72,6,238,209 
,165,209,141 

20004 DATA 2,208,173,132,2,201,0,240,11, 
169,0,141,3,208,141,0,210,76,127,6,173,1 
0,210,141,195 

20005 DATA 2,165,209,141,3,208,169,138,1 
41,0,218,160,0,177,205,136,145,205,200,2 
90, 192,0,208,245,76 

28006 DATA 140,6,160,0,177,205,209,145,2 
05,136,136,192,0,208,245,96 






90 • GAMES FOR YOUR ATARI COMPUTER 



26007 


RETURN 


10 t 


=$600 


20 ;fl 


SSEP1BLV ROUTINE 


30 iS 


PACE DOCKER HRI 


40 H0R1=$CB 


56 H0R2=$CC 


60 LF 


=$D0 


70 H0R3=$D1 


80 PLfi 


90 LDA LF 


1 00 


CP1P #1 


0110 


BEG! RIGHT 


0120 


LEFT INC H0R1 


0130 


INC H0R2 


0140 


LDfl H0R2 


0150 


crip #200 


0160 


BNE Nl 


0170 


LDfl #1 


0130 


STfl LF 


0190 


JrTP Nl 


0200 


RIGHT DEC H0R1 


0210 


DEC H0R2 


0220 


LDfl H0R1 


0230 


crip #50 


0240 


BNE Nl 


0250 


LDfl #2 


0260 


STfl LF 


0270 


Nl LDfl H0R1 


0280 


STfl 53248 


0296 


LDfl H0R2 


0300 


STfl 53249 


0310 


STICK LDfl $278 


0320 


crip #11 


0330 


BEG! L 


0340 


LDfl $273 


0350 


CHIP #7 


0360 


BEG! R 


0370 


JHP N2 


0330 


L DEC H0R3 


0390 


JP1P N2 


0400 


R INC H0R3 



USED IN 
TTEN BV PAUL BUNH 



FOR ADVANCED PROGRAM- 
MERS 

Starting at line 10 (above) is the 
assembly-language version of 
the routine that runs from line 
2000 to 2007. This is just to give 
you the opportunity to look over 
my shoulder and see the 
process of communicating 
directly with the CPU. Don't type 
this into your computer, it will 
only give you all sorts of weird 
error messages. 



SPACE DOCKER • 91 



0410 


N2 LDfl H0R3 


0420 


STfl 53250 


0430 


LDH $284 


0440 


CP1F #0 


0450 


6EQ ON 


0460 


LDH #0 


O470 


STfl 53251 


0480 


STfl *D200 


0490 


JP1P N4 


0500 


DM LDfl 53776 


0510 


STfl 707 


0520 


LDfl H0R3 


0530 


STfl 53251 


0540 


LDfl #130 


0550 


STfl $D206 


0560 


LDV #0 


0570 


AG1 LDfl <$CD>,V 


0580 


DEV 


0590 


STfl <*CO),Y 


0600 


I NY 


0610 


INY 


0620 


CPY #0 


0630 


BNE flGl 


0640 


JP1P N5 


0650 


N4 LDY #0 


0660 


A62 LDfl '::$CD>,V 


0670 


INY 


0680 


STfl <*CD>,V 


O690 


DEV 


0700 


DEY 


0710 


CPY #0 ^ 


0720 


BNE AG2 ^ 


0730 


N5 RTS ^^ 




SKI RUN 



(Joystick) 

Notes for typing the program in: 

1. Type exactly what is listed. 

2. SAVE the program on cassette or disk before you RUN 
the program. 

3. The program is designed for an Atari 400/800 with at 
least 16K memory, with or without DOS loaded in. 

4. If you have a 16K machine, when you RUN it the screen 
will flash funny colors — this is normal and will stop 
shortly. 

5. When you are about to play Ski Run, switch the compu- 
ter OFF/ON. LOAD the program in and then RUN. The 
program will take a few seconds to RUN after the 
command. Press START for the game to commence. 

If you follow the above rules, you will find yourself with a 
very good, 100% machine code game — quality you would 
expect from very expensive software. 

Use your joystick, plugged into Port 1, to move your skier 
left or right. To score points run over the blue flags; avoid 
the trees at all costs. If you are skillful enough to complete a 
round, you will advance to the next level which means you 
go to a higher mountain with steeper slopes, and your skier 
moves faster. The game ends when your skier crashes into a 
tree. Press START to relieve his frustration. 




\ 



r 



92 



SKI RUN • 93 

1.8 REM ** SKI RUN BY PAUL DUNNING U 

26 REP1 

30 REI'1 Hake sure you SPUE this program 

40 REPl before you attempt to run it ! 

45 RED 

50 GOSUB 1000 

60 GOSUB 2000 

70 GOSUB 3000 

80 GOSUB 400U 

90 X=USRa663> 

LO00 FOR A=1536 TO 1646 ."READ B:POKE A,B: 

NEXT H 

LO01 DATA 112,112,112,70*0*60,7,0,6,6,11 

8,217,35,54,54,54,54,54,54,54,54,54,54,5 

4,54 

1002 DATA 54,54,54,54,54,54,54,54,65,0,6 

,0,24,24,24,24,60,60,60,60,60,60,126,126 

,126 

L003 DATA 126,126,126,255,255,255,255,25 

5,255,255,255, 126, 126,24,24,24,24,24,0,2 

55 ,255 ,255 ,255 ,255 ,255 

1804 DATA 255,255,192,132,132,132,192,18 

2,192,192,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0 

1005 DATA 0,7,31,127,31,7,1,1,1,0,0 

L006 RETURN 

2000 FOR A= 13568 TO 14636: READ B:POKE A, 
B:NEXT A 

2001 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2002 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2003 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2004 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2005 DATA 0,0,0,101,110,100,0,111,102,0, 
114,111,117,110,100,0,0,0,0,0,0,0,0,0,0 

2006 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2007 DATA 0,0,110,101,120,116,0,114,111, 

117,110,100,0,0,0,0,0,0,0,0,0,0,0,0,0 

2008 DATA 0,99,111,109,105,110,103,0,0,1 

17,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0 



94 • GAMES FOR YOUR ATARI COMPUTER 

2069 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2010 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2011 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2012 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2013 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0, 0,0, 0,0, 0,0, 0,0,0 

2014 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2015 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2016 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2017 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2018 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2019 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2020 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2021 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,8,0,0,0,0,0,0,0,0 

2022 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2823 DfiTfi 8,8,y,0,0,y,0,0,0,0,0,fi,0,0,0, 

0,0,0,0,0,0,0,0,0,0 

2024 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2025 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2026 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

202? DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2023 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2023 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 

2030 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 
0,0,0,0,0,0,0,0,0,0 



SKI RUN • 95 

2031 DATA 0,0,0,0,0,0,8,0,0,0,0,0,0,0,0, 
0,0,0,0,0,8,0,0,0,0 

2832 DOTH 0,51,43,41,0,50,53,46,0,0,0,0, 
8,0,8,0,0,0,0,51,35,47,50,37,8 

2033 DATA 16,16,16,16,16,0,8,0,0,0,8,0,0 
,0,0,8,8,8,8,8,8,8,8,8,8 

2834 DATA 0,0,0,0,63,63,63,63,63,63,63,6 
3, 63, 63, G;3, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 

2035 DATA 63,63,63,0,0,0,0,0,0,8,0,0,8,0 
,8,8,8,8,8,8,8,8,8,8,8 

2836 DPTA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 

0,0,0,0,0,8,8,8,8,8 

2837 DATA 0,0,0,0,8,8,8,8,8,0,8,0,0,0,0, 
0,8,8,8,8,8,8,8,8,8 

2838 DATA 8,8,8,8,8,0,0,0,0,8,8,0,0,0,0, 
0,0,0,0,8,8,0,8,0,8 

2833 DATA 0,0,8,8,8,8,8,8,0,0,0,8,8,8,0, 
8,8,8,8,8,8,8,8,0,0 

2040 DATA 0,8,8,8,8,8,0,8,8,0,8,0,0,0,0, 

0,0,0,0,0,0,0,0,0,0 

2041 DATA 0,0,0,0,8,8,8,0,0,0,0,0,0,8,8, 
8,8,8,8,8,8,8,0,0,36 

2842 DATA 36,36,36,36,36,36,36,36,36,36, 
36,36,36,36,36,8,8,8,8,8,8,8,8,8,8 

2843 DATA 8,8,8,8,8,8,8,8,8,8,129,129,12 
9,98, 98 , 98 , 68 , 68 , 68 

2844 RETURN 

3800 FOR A=14848 TO 15475: READ B:POKE A, 

B:NEXT A 

3001 DATA 169,175,141,1,210,169,0,141,11 

,6,169,32,141,12,6,169,14,141,200,2,169, 

200,141,196,2 

3802 DATA 169,32,133,213,169,128,141,197 
,2,162,6,169,8,157,8,29,282,208,248,168, 
6,185,0,224,153 

3003 DATA 0,56,185,0,225,153,8,57,185,0, 
226,153,0,58,185,0,227,153,0,59,136,208, 
229,169,32 

3004 DATA 133,208,162,16,160,0,169,0,145 
,207, 136, i±88, 249, 230, 288, 202, 288, 242, 169 
,56,141,244,2,160,88 

3005 OATH 135,37,6,153,8,56,136,208,247, 
169,0,141,48,2,169,6,141,49,2,166,213,17 
3,10,210,133 



96 • GAMES FOR YOUR ATARI COMPUTER 

3«06 DATA 205,173,10,210,41,14,9,32,133, 

206, 169, 1 , 160,0, 145,205, 160,24, 169,2,145 

,205,160,48,169 

300? DATA 3,145,205,160,72,169,4,145,205 

,202,208,215,162,32,173,10,210,133,205,1 

7'3, 10, 210, 41, 14, 9 

3008 DATA 32,133,206,160,0,177,205,201,0 
,208,234, 169,73, 145,205,202,208,227, 162, 
8,169,0,157,0,32 

3009 DATA 202,208,248,32,131,9,32,17,10, 
160,0,140,5,212,32,32,9,152,72,104,168,1 
73, 120,2,201 

3010 DATA 7,240,26,201,11,240,3,76,14,9, 
165,212,201,56,240,29,198,212,165,212,14 
1,0,208,141,1 

3011 DATA 208,76,14,9,165,212,201,192,24 
0,10,230,212,165,212,141,0,208,141,1,208 
,173,4,203,201,0 

3012 DATA 240,3,32,235,3,200,192,8,208,1 
82,76,52,9,152,72,160,24,162,0,202,208,2 
53,169,0,141 

3013 DATA 0,210,136,208,243,104,168,96,1 
73,11,6,24,105,24,141,11,6,173,12,6,105, 
9,141,12,6 

3014 DATA 173,12,6,201,45,240,3,76,209,8 
,169,0,169,0,141,11,6,169,27,141,12,6,17 
3,35,9 

3015 DATA 201,7,240,3,206,35,9,162,0,138 
,72,32,32,9, 104, 170,202,208,246, 141 , 1 1 ,6 
,169,32,141 

3016 DATA 12,6,165,213,24,105,10,133,213 
,76,44,8,169,58,141,192,2,169,0,141,193, 
2,169,128,141 

3017 DATA 0,208,133,212,169,128,141,1,20 
8,169,0,141,2,208,141,3,208,141,4,208,14 
1,5,208,141,6 

3018 DATA 208,141,7,208,169,3,141,29,203 
,169, 48, 141, 7, 212, 169, 62, 141, 4,-', 2, 162,0, 
169,0,157,0 

3019 DATA 52,157,0,53,202,208,245,162,1? 
,189,0,31 ,157, 128,53,202,208,247, 162, 17, 
189,32,31,157,128 

3020 DATA 52,202,208,247,162,96,183,0,30 
, 157,255,59,202,208,247,96, 173,4,208,201 
,2,240,16,173,31 



" 



SKI RUN • 97 



3021 DfiTfi 208,201,6,208,243,163,255,141, 
30,208,76,8,8,72,32,17,10,169,1,141,30,2 
08,173,18,210 

3822 DflTfi 141,0,210,36,32,101,18,238,4,2 
3,173,4,23,201,10,240,1,36,163,0,141,4,2 
9,238,3 

3823 DflTfi 23,173,3,23,201,10,240,1,36,16 
3,0,141,3,23,238,2,23,173,2,23,201,10,24 
0,1,36 

3024 DflTft 163,8,141,2,23,238,1,23,173,1, 
23,201,10,240,1,36,163,0,141,1,23,238,0, 
23,173 

3825 DflTfi 0,23,201,10,240,1,36,163,0,141 

,0,23,0,162,5,183,255,28,24,185,16,157,3 

0,60,202 

3026 DfiTfi 208,244,36 

3827 RETURN 

4000 FOR fi=1663 TO 1738:REfiO B:POKE fi,B: 
NEXT fl 

4001 DfiTfi 184,163,0,133,203,163,53,133,2 
84, 160,0, 132,205, 163,27, 133,206, 177,203, 
1 45 , 205 , 208 , 208 , 243 , 238 , 284 

4802 DflTfi 230,206,165,206,201,32,288,239 
, 163,8, 133,203, 133,205, 163,58, 133,284, 16 
3,8,133,206,177,203,145 

4083 DfiTfi 205,200,208,243,238,204,230,20 
6, 165,204,201 ,61 ,208,233, 163,8, 133, 12, 16 
9,8,133,13,76,0,8 
4885 RETURN 




How to Write 

Better 

Programs 

By Tim Hartnell, series editor 



There are a number of fine programs in this book, and many 
of the regular computer magazines contain others. But no 
matter how good the programs from published sources are, 
you are certain to get more pleasure from running them if 
they have been partially or completely written by you. 
Putting your personal stamp on programs, altering them to 
reflect your wishes and creativity, is an excellent way to 
improve the programs, and eventually, of course, you'll 
become a better and more imaginative programmer. 

Programs in magazines, and in books like this one, are 
ideal as starting points for your own developments. You may 
also find that advertisements for software packages can be 
fruitful "idea-starters". You only need to read the descrip- 
tion of what the commercially available program does, and 
you will have the first step toward creating your own 
program. You have to be careful, of course, not to infringe 
copyright either in the screen displays, in the name of the 
program, or the names of the "characters" within the pro- 
gram. However, you will probably find that at a certain point 
in its development the program will take on a life of its own, 
growing and evolving away from the original scenario, until 
you eventually have a completely new game concept and 
implementation. 

Whatever you do, be careful not to pass off other people's 
work as your own. By all means adapt and improve pub- 



100 • GAMES FOR YOUR ATARI COMPUTER 

lished programs, but do not then present them to magazines 
as if they were originals. I have lost count of the number of 
times one of my own programs, from one of my books, has 
been submitted to me for publication. 

Always watch out for new ideas as you look through 
books, game and computer magazines, or wander through 
video game arcades. It may be worth keeping notes of ideas 
you come across for games, for character shapes, for 
sounds, for dramatic endings and so on. Thus you will never 
be short of ideas, and you will also be able to merge the 
material together to produce better games which hold the 
player's attention for longer. 

Games tend to fall into one of three categories, and it is 
worth making sure of the category into which your proposed 
program will fall before you start to program, since the 
category of game materially alters the programming ap- 
proach. This is not to say that, as you develop a program, it 
will not move from one category into another, nor that a 
particular game might not extend across two categories, but 
it is nevertheless useful to keep the various groups separate 
in your mind, just to clarify your thoughts. The three catego- 
ries are: 

1. Board games 

2. "Arcade" (that is, highly visual, fast moving, noisy, real 
time) games 

3. Games of chance (such as Roulette and Snap). 

In board games, the quality of play is more important than 
lightning-fast response, while the arcade-type programs 
must be kept moving at all costs, even if some "intelligence" 
from your Martian intruders must be sacrificed to achieve 
this. Games of chance depend more on their ease of play 
("user-friendly" inputs), and an approach to true random- 
ness, than do either of the other categories. 

You will find that games programs tend to fall into types, 
which are subdivisions of the three above mentioned cate- 
gories. Many board games are variants of chess or checkers; 
many arcade games started off life as Space Invader-type 



HOW TO WRITE BETTER PROGRAMS • 101 

games; and games of chance started off in the "real world" 
of dice and cards. Looking at a program description, or a 
games machine, and trying to categorize the game you see 
can help trigger new ideas which fit within that particular 
game's genre. 

There is a school of thought within programming — gener- 
ally called "structured programming" — which believes that 
discipline at the beginning of the games-writing process is 
essential. While less interesting than sitting down at the 
computer right away, a much better program is produced in 
the end. I once wrote a program called Dome Dweller, a 
simulation program in which the player is in charge of a 
"lunar dome" and must decide which products to manufac- 
ture and sell in order to buy oxygen and food for the station's 
inhabitants. (This program was used in my book The Book of 
Listings, written with Jeremy Ruston, and published by the 
BBC.) Once I had decided the overall scenario, I worked out 
the screen display, and came up with an idea as follows: 

Oxygen supplies are low 

There are 96 people living within your dome in year 3 

Money credit is $5,693 

Annual maintenance charge is $226 

Oxygen tanks hold 811 units 

Oxygen costs $8 per unit 

Each dome dweller needs 5 units a year 

Food stocks stand at 2122 

Each dweller needs 3 units a year ($6 each, $576 for dome. 
This will last 7 years at present population.) 

You can trade your unique lunar sculptures with the 
people who live in other domes. You use up 2 units of 
oxygen making each one, and sell them for $30. 

As you can probably guess from this "sample printout", 
the idea of the program is to decide how many "unique lunar 
sculptures" you must make and sell in order to buy oxygen 
and food, and to pay the "annual maintenance" charge. The 
problem with this particular program is that making each 
sculpture uses up oxygen, so you must balance your wish to 



102 • GAMES FOR YOUR ATARI COMPUTER 

make money against the need to use the oxygen intelli- 
gently. 

You may well wish to try writing such a program yourself. 
You should end up with an enjoyable program, and writing it 
will do much to help you develop your programming skills. 
The first thing to do is to make a list of what the program has 
to do: 

Set up the needed variables 

Tell the player the "state of the dome" 

Ask how much oxygen to be bought 

Check if can afford this, if so buy it, if not go back and ask 

again 
Ask how much food to be bought 
Check if can afford this, if so buy it, if not go back and ask 

again 
Update oxygen quantity 
Update food quantity 
Reduce money left total 
Ask how many items of sculpture to be made 
Check if there is enough oxygen to make this many, if not 

go back and ask again 
Reduce oxygen quantity by amount needed to make the 

number of sculptures specified, increase money total to 

reflect value of sculptures made 
Increase the population total slightly, add one to the 

"current year" 
Check if there is enough food in stocks to feed whole 

population 
Check if there is enough oxygen for whole population 
Check if there is any money 
If any of these conditions are negative (e.g. not enough 

food) send action to an "end of game" routine 
If all are positive, loop back to tell the player the state of 

the dome, and continue to circle 

You could probably write a Dome Dweller program using 
the list above, together with the "sample printout" informa- 
tion. There is, however, a secret I should like to share with 



" 



HOW TO WRITE BETTER PROGRAMS • 103 

you which unlocks programming problems almost instantly. 
You can actually write all the vital parts of a program in 
minutes, so you can see the raw framework of a program like 
this running long before you fill in the details. And once you 
have a framework you can work on it for as long as you like, 
knowing as you do so that — at every moment in program 
development — you have a working program. You do not 
have to wait until the end until you can run it to see how you 
are going. The secret is to hold the entire program within a 
series of subroutine calls, all held within a perpetual loop. 
Here's how it could work with this program. The very first 
lines you enter in your computer are as follows: 

10 REM DOME DWELLER 

20 GOSUB 1000: REM ASSIGN VARIABLES 

30 GOSUB 2000: REM PRINT OUT STATE OF DOME 

40 GOSUB 3000: REM OXYGEN 

50 GOSUB 4000: REM FOOD 

60 GOSUB 5000: REM SCULPTURE 

70 GOSUB 6000: REM UPDATE POPULATION 

80 GOSUB 7000: REM CHECK ON STATE OF DOME 

90 IF (all conditions positive, from GOSUB 7000) THEN 

GOTO 30 
100 REM End of game . . . 

As you can see once you have the master loop set up in 
this way, it is relatively simple to fill in each of the subrou- 
tines one by one, testing each as you do so, and elaborating 
each one so that you end up eventually with a very good 
program. The only thing you need now is a list of the 
variables which you will use with the program. 

I find the best way to do this is to use explicit names for 
variables so that when you are programming you do not have 
to spend time checking, for example, whether AA stands for 
the population, or the number of units of oxygen used up in 
making each item of sculpture. To make programs as easy as 
possible to transfer between different computers you can 
stick to two letter variable names, or you can take advantage 
(if your computer allows it) of long names (such as OXYUSE 



104 • GAMES FOR YOUR ATARI COMPUTER 

for the amount of oxygen used) for variables. Then you have 
no doubts whatsoever as to the meaning of each variable 
name. To show how this can work, and to illustrate a further 
advantage of explicit variable names, here are the variables 
used in Dome Dweller: 

FOLK — population of dome 

CASH — money in treasury 

FOOD — food stocks on hand 

FOODCOST — how much each unit of food costs 

FOODNEED — how many units of food were consumed per 

person per year 
ARTCOST — how much oxygen was used up making each 

piece of sculpture 
ARTPAY — how many dollars each piece of sculpture was 

sold for 
OXY — oxygen stocks on hand 
OXYNEED — how many units of oxygen were consumed 

per person per year 
OXYCOST — how much each unit of oxygen cost to buy 
REPAIR — the cost of annual repairs to the dome 
YEAR — the year of the dome's life 

Using explicit variable names in this way — although they 
use up more memory than single or double-letter variable 
names — makes it very simple to follow through a program, 
working out what each section of the program actually does. 
Moreover, and this is the further advantage mentioned, it is 
very easy when writing the program to insert the formula 
required for calculations. By this I mean that if, for example, 
you wished to include (as I do in this program) an indication 
of how much oxygen is needed for each year, you simply 
multiply the number of people in the dome (FOLK) by the 
number of oxygen units each person needs each year (OXY- 
NEED). You can then include within the printouts for the 
state of the dome a line like: 

PRINT "THERE ARE"; FOLK; "IN THE DOME" 

PRINT "IN YEAR"; YEAR 

PRINT "EACH PERSON NEEDS"; OXYNEED; "UNITS OF" 



HOW TO WRITE BETTER PROGRAMS • 105 

PRINT "OXYGEN EACH YEAR,"; 

OXYNEED*FOLK;" NEEDED" 
PRINT "FOR THE WHOLE DOME" 

It also makes it very easy to check on whether purchases are 
possible. For example, to buy food, you could say: 

PRINT "HOW MUCH FOOD WILL YOU BUY?" 

INPUT A 

IF A*FOODCOST ) CASH THEN GOTO (get another A) 

So the suggestions given here for improving your pro- 
grams by the use of "structured programming" include the 
following: 

— draw up a sample printout, or mock-up of the final 

screen display 
— draw up a list of what the program has to do each time 

through a "master control loop" 
— change this list to a series of subroutine calls 
— use explicit variable names if possible 

It is useful if you are designing programs for others to use 
to ensure that it is quite clear what the player should do 
when running the program. There is little point, especially 
when memory is limited, in including a long set of instruc- 
tions within the program, but you should certainly write 
such instructions down. In addition, user prompts should be 
explicit (such as ENTER THE NUMBER OF GOES YOU WANT) 
and should include warnings of the limits which will be 
placed on the input (HOW MANY CARDS WILL YOU START 
WITH: 1, 2 OR 3?, for instance). 

You cannot assume that you will be present every time a 
program is run, so you should do your best to make it as 
foolproof as possible. If you can, add error-trapping rou- 
tines to the program to ensure that a mistake in entering a 
choice earlier on in the program will not cause it to crash or 
come up with stupid results later on. 



106 • GAMES FOR YOUR ATARI COMPUTER 

If you read through this section of the book several times 
and try to apply the ideas to your own programming work, 
you should find your work quality improves significantly, 
and also that you can spend more time improving and 
embellishing a program and less in the raw mechanical task 
of getting the thing running. 



GLOSSARY 



Accumulator — the place within the computer in which 
arithmetic computations are performed and where the 
results of these computations are stored. 

Algorithm — the series of steps the computer follows to solve 
a particular problem. 

Alphanumeric — this term is usually used in relation to a 
keyboard, as in "it is an alphanumeric keyboard", which 
means that the keyboard has letters as well as numbers. It 
is also used to refer to the "character set" of the computer. 
The character set comprises the numbers and letters the 
computer can print on the screen. 

ALU (Arithmetic/Logic Unit) — the part of the computer which 
does arithmetic (such as addition, subtraction) and where 
decisions are made. 

AND — a Boolean logic operation that the computer uses in 
its decision-making process. It is based on Boolean alge- 
bra, a system developed by mathematician George Boole 
(1815-64). In Boolean algebra the variables of an expres- 
sion represent a logical operation such as OR and NOR. 

ASCII — stands for American Standard Code for Information 
Exchange, the most widely used encoding system for 
English language alphanumerics. There are 128 upper and 
lower case letters, digits and some special characters. 
ASCII converts the symbols and control instructions into 
seven-bit binary combinations. 

Assembler — a program which converts other programs writ- 
ten in assembly language into machine code (which the 
computer can understand directly). Assembly language is 
a low level programming language which uses easily mem- 

107 



108 • GAMES FOR YOUR ATARI COMPUTER 

orized combinations of two or three letters to represent a 
particular instruction which the assembler then converts 
so the machine can understand it. Examples of these are 
ADD(add), and SUB (subtract). A computer programmed 
in assembly language tends to work more quickly than one 
programmed in a higher level language such as BASIC. 



B 

BASIC — an acronym for Beginners All-Purpose Symbolic In- 
struction Code. It is the most widely used computer 
language in the microcomputer field. Although it has been 
criticized by many people, it has the virtue of being very 
easy to learn. A great number of BASIC statements resem- 
ble ordinary English. 

Baud — named after Baudot, a pioneer of telegraphic com- 
munications. Baud measures the rate of transfer of infor- 
mation and is approximately equal to one bit per second. 

BCD — an abbreviation for Binary Coded Decimal. 

Benchmark — a test against which certain functions of the 
computer can be measured. There are a number of so- 
called "standard Benchmark tests," but generally these 
only test speed. This is rarely the aspect of a microcompu- 
ter that is of most interest to the potential buyer. 

Binary — a numbering system that uses only zeros and ones. 

Bit — an abbreviation for Binary Digit. This is the smallest unit 
of information a computer circuit can recognize. 

Boolean Algebra — the system of algebra developed by mathe- 
matician George Boole which uses algebraic notation to 
express logical relationships (see AND). 

Bootstrap — a short program or routine which is read into the 
computer when it is first turned on. It orients the compu- 
ter to accept the longer, following program. 

Bug — an error in a computer program which stops the pro- 
gram from running properly. Although it is generally used 
to mean only a fault or an error in a program, the term bug 
can also be used for a fault in the computer hardware. 



GLOSSARY • 109 

Bus — a number of conductors used for transmitting signals 
such as data instructions, or power in and out of a compu- 
ter. 

Byte — a group of binary digits which make up a computer 
word. Eight is the most usual number of bits in a byte. 



CAI — Computer Assisted Instruction. 

CAL — Computer Assisted Learning. The term is generally 
used to describe programs which involve the learner with 
the learning process. 

Chip — the general term for the entire circuit which is etched 
onto a small piece of silicon. The chip is, of course, at the 
heart of the microcomputer. 

Clock — the timing device within the computer that syn- 
chronizes its operations. 

COBOL — a high level language derived from the words 
Common Business Orientated Language. COBOL is de- 
signed primarily for filing and record-keeping. 

Comparator — a device which compares two things and pro- 
duces a signal related to the difference between the two. 

Compiler — a computer program that converts high level 
programming language into binary machine code so the 
computer can handle it. 

Complement — a number which is derived from another ac- 
cording to specified rules. 

Computer — a device with three main abilities or functions: 

1) to accept data 

2) to solve problems 

3) to supply results 

CPU — stands for Central Processing Unit. This is the heart of 
the computer's intelligence, where data is handled and 
instructions are carried out. 

Cursor — a character which appears on the TV screen when 
the computer is operating. It shows where the next char- 
acter will be printed. On a computer there are usually 



110 • GAMES FOR YOUR ATARI COMPUTER 

"cursor control keys" to allow the user to move the cursor 
around the screen. 



D 

Data — information in a form which the computer can pro- 
cess. 

Debug — the general term for going through a program and 
correcting any errors in it, that is, chasing down and 
removing bugs (see Bug). 

Digital Computer — a computer which operates on informa- 
tion which is in a discrete form. 

Disk/Disc — this is a magnetically sensitized plastic disk, a 
little smaller than a single play record. This is used for 
storing programs and for obtaining data. Disks are consid- 
erably faster to load than a cassette of the same length 
program. The disk can be searched very quickly while a 
program is running for additional data. 

Display — the visual output of the computer, generally on a 
TV or monitor screen. 

Dot Matrix Printer — a printer which prints either the listing of 
a program or that which is displayed on the TV screen. 
Each letter and character is made up of a number of dots. 
The higher the number of dots per character the finer the 
resolution of the printer. 

Dynamic Memory — a memory unit within the computer 
which "forgets" its contents when the power is turned off. 



Editor — this term is generally used for the routine within the 
computer which allows you to change lines of a program 
while you are writing it. 

EPROM — stands for Erasable Programmable Read-Only 
Memory. This is like the ROM in the computer, except that 
it is fairly easy to load material into an EPROM and it 
doesn't disappear when you turn the power off. EPROMs 



GLOSSARY -111 

must be placed in a strong ultra violet light to erase them. 
Error Messages — the information given by a computer where 
there is a fault in the coding during a part of a program, 
usually shown by the computer stopping, and printing a 
word, or a word and numbers, or a combination of num- 
bers only, at the bottom of the screen. This tells you what 
mistake has been made. Common mistakes include using 
the letter O instead of zero in aline, or leaving out a pair of 
brackets, or one of the brackets, in an expression, or 
failing to define a variable. 



File — a collection of related items of information organized 
in a systematic way. 

Floppy Disk — -a relatively cheap form of magnetic disk used 
for storing computer information, and so named because 
it is quite flexible (see Disk/Disc). 

Flow Chart — a diagram drawn up before writing a program, 
in which the main operations are enclosed within rectan- 
gles or other shapes and connected by lines, with arrows 
to represent loops, and decisions written at the branches. 
It makes writing a program much easier because traps 
such as infinite loops, or non-defined variables can be 
caught at an early stage. It may not be worth writing a flow 
chart for very short programs, but generally a flow chart 
aids in creating programs. 

Firmware — there are three kinds of "ware" in computers: 
software "temporary" programs; hardware like the ROM 
which contains permanent information; and firmware in 
which the information is relatively permanent, as in an 
EPROM(seeEPROM). 

Flip-Flop — a circuit which maintains one electrical condition 
until changed to the opposite condition by an input signal. 

FORTRAN — an acronym for FORmula TRANslation, this is a 
high-level, problem orientated computer language for 
scientific and mathematical use. 



112 • GAMES FOR YOUR ATARI COMPUTER 



Gate — an electrical circuit which, although it may accept one 
or more incoming signals, only sends out a single signal. 

Graphics — pictorial information as opposed to letters and 
numbers. 



H 

Hard Copy — computer output which is in permanent form. 

Hardware — the physical parts of the computer (also see 
software and firmware). 

Hexadecimal (Hex) — a numbering system to the base sixteen. 
The digits zero to nine are used, as well as the letters A, B, 
C, D, E and F to represent numbers. A equals 10, B equals 
11, C equals 12, and so on. Hex is often used by micropro- 
cessor users. 

Hex Pad — a keyboard designed specifically for entering hex- 
adecimal notation. 

High Level Language — a programming language which allows 
the user to talk to the computer more or less in English. In 
general, the higher the level of the language (that is, the 
closer it is to English), the longer it takes for the computer 
to translate it into a language it can use. Lower level 
languages are far more difficult for human operators but 
are generally executed far more quickly. 



I 

Input — the information fed into the computer via a key- 
board, a microphone, a cassette or a disk. 

Input/Output (I/O Device) — a device which accepts informa- 
tion or instructions from the outside world, relays it to the 
computer, and then, after processing, sends the informa- 
tion out in a form suitable for storing, or in a form which 
could be understood by a human being. 



GLOSSARY -113 

Instruction — data which directs a single step in the process- 
ing of information by the computer (also known as a 
command). 

Integrated Circuit — a complete electronic circuit imprinted 
on a semiconductor surface. 

Interface — the boundary between the computer and a pe- 
ripheral such as a printer. 

Interpreter — a program which translates the high level lan- 
guage fed in by the human operator, into a language 
which the machine can understand. 

Inverter — a logic gate that changes the signal being fed in, to 
the opposite one. 

Interactive Routine — part of a program which is repeated 
over and over again until a specified condition is reached. 



J 
Jump Instruction — an instruction which tells the computer to 
go to another part of the program, when the destination of 
this move depends on the result of a calculation just 
performed. 



K 

K — this relates to the size of the memory. Memory is usually 
measured in 4K blocks. 1K contains 1,024 bytes. 

Keyword — the trigger word in a line of programming, usually 
the first word after the line number. Keywords include 
STOP, PRINT and GOTO. 



Language — computer languages are divided into three sec- 
tions: high level languages, such as BASIC, which are 
reasonably close to English and fairly easy for humans to 
use; low level languages, such as Assembler, that use 



114 • GAMES FOR YOUR ATARI COMPUTER 

short phrases which have some connection with English 

(ADD for add and RET for return, for instance); and 

machine code which communicates more or less directly 

with the machine. 
LCD — this stands for Liquid Crystal Diode. Some computers 

such as the TRS-80 Pocket Computer use an LCD display. 
LED — this stands for Light Emitting Diode. The bright red 

numbers which are often used on watch or clock displays 

are made up of LEDs. 
Logic — the mathematical form of a study of relationships 

between events. 
Loop — a sequence of instructions within a program which is 

performed over and over again until a particular condition 

is satisfied. 



M 

Machine Language or Machine Code — an operation code 
which can be understood and acted upon directly by the 
computer. 

Magnetic Disk — see Disk and Floppy Disk. 

Mainframe — computers are generally divided into three 
groups, and the group a computer falls into depends more 
or less on its size. The TS-1000 you are using is a micro- 
computer; medium sized computers are known as mini- 
computers; and the giant computers that you sometimes 
see in science fiction movies are mainframe computers. 
Until 15 years ago mainframe computers were, in practical 
terms, the only ones available. 

Memory — there are two types of memory within a computer. 
The first is called ROM (read-only memory); this is the 
memory that comes already programmed on the compu- 
ter, which tells the computer how to make decisions and 
how to carry out arithmetic operations. This memory is 
unaffected when you turn the computer off. The second 
type is RAM (random access memory). This memory holds 
the program you type in at the keyboard or send in via a 



GLOSSARY -115 

cassette or disk. In most computers the computer "for- 
gets" what is in RAM when you turn the power off. 

Microprocessor — the heart of any computer. It requires pe- 
ripheral unit interfaces, such as a power supply and input 
and output devices, to act as a microcomputer. 

MODEM — stands for Modulator Demodulator. This is a de- 
vice which allows two computers to talk to each other over 
the telephone. The computers usually use a cradle in 
which a telephone receiver is placed. 

Monitor — this has two meanings in computer terms. One 
meaning is a television-like display. A monitor has no 
facility for tuning television programs, and usually the 
picture produced on a monitor is superior to that pro- 
duced by an ordinary television. The second meaning of a 
monitor relates to ROM. The monitor of a computer is 
described as the information it has built in when you buy 
it. This information allows it to make decisions and carry 
out arithmetic computations. 

Motherboard — a framework to which extra circuits can be 
added. These extra circuits often give the computer facili- 
ties which are not built-in, such as that of producing sound 
or of controlling a light pen. 

MPU — an abbreviation for Microprocessor Unit. 



N 

Nano-second — a nano-second is one thousand billionth of a 
second, the unit of speed in which a computer or a 
memory chip is often rated. 

Non-Volatile Memory — memory which is not lost when the 
computer is turned off. Some of the smaller computers 
such as the TRS-80 Pocket Computer have non-volatile 
memory. The batteries hold the program you enter for 
several hundred hours. 

Not — a Boolean logic operation that changes a binary digit 
into its opposite. 



116 • GAMES FOR YOUR ATARI COMPUTER 

Null String— a string which contains no characters. It is 
shown in the program as two double quote marks, without 
anything between them. 

Numeric — pertaining to numbers as opposed to letters (that 
is, alphabetic). Many keyboards are described as being 
alphanumeric which means both numbers and letters are 
provided. 



o 

Octal — a numbering system which uses eight as the base, 
and the digits 0, 1, 2, 3, 4, 5, 6 and 7. The Octal system is 
not used very much nowadays in microcomputer fields. 
The Hexadecimal system is more common (see Hexadeci- 
mal). 

Operating System — the software or firmware generally pro- 
vided with the machine that allows you to run other 
programs. 

OR — an arithmetic operation that returns a 1, if one or more 
inputs are 1. 

Oracle — a method of sending text messages with a broadcast 
television signal. A teletext set is required to decode the 
messages. 

Output — information or data fed out by the computer to 
such devices as a TV-like screen, a printer or a cassette 
tape. The output usually consists of the information which 
the computer has produced as a result of running a 
program. 

Overflow — a number too large or too small for the computer 
to handle. 



Pad — see Keypad. 

Page — often used to refer to the amount of information 
needed to fill one TV screen, so you can talk about seeing 
a page of a program, the amount of the listing that will 
appear on the screen at one time. 



GLOSSARY -117 

PASCAL — a high level language. 

Peripheral — anything which is hooked onto a computer, for 
control by the computer, such as a disk unit, a printer or a 
voice synthesizer. 

Port — a socket through which information can be fed out of 
or in to a computer. 

Prestel — the British telecom name for a system of calling up 
pages of information from a central computer via the 
telephone and displaying them on a television screen. A 
similar commercial version in the United States is known 
as The Source. 

Program — in computer terms program has two meanings. 
One is the list of instructions that you feed into a compu- 
ter, and the second is used as a verb; as in "to program a 
computer." 

PROM — stands for Programmable Read Only Memory. This 
is a device which can be programmed, and once it is then 
the program is permanent (see also EPROM and ROM). 



Random Access Memory (RAM) — the memory within a com- 
puter which can be changed at will by the person using the 
computer. The contents of RAM are usually lost when a 
computer is turned off. RAM is the memory device that 
stores the program that you type in and also stores the 
results of calculations in progress. 

Read-Only Memory (ROM) — in contrast to RAM, information 
in ROM cannot be changed by the user of the computer, 
and the information is not lost when the computer is 
turned off. The data in ROM is put there by the manufac- 
turers and tells the computer how to make decisions and 
how to carry out arithmetic computations. The size of 
ROM and RAM is given in the unit K (see K). 

Recursion — the continuous repetition of a part of the pro- 
gram. 

Register — a specific place in the memory where one or more 
computer words are stored during operations. 



118 • GAMES FOR YOUR ATARI COMPUTER 

Reserved Word — a word that you cannot use for a variable in 
a program because the computer will read it as something 
else. An example is the word TO. Because TO has a 
specific computer meaning, most computers will reject it 
as a name for a variable. The same goes for words like 
FOR, GOTO and STOP. 

Routine — this word can be used as a synonym for program, 
or can refer to a specific section within a program (see also 
Subroutine). 



Second Generation — this has two meanings. The first applies _ 

to computers using transistors, as opposed to first genera- 
tion computers which used valves. Second generation can 
also mean the second copy of a particular program; subse- 
quent generations are degraded by more and more noise. 

Semiconductor — a material that is usually an electrical insula- 
tor but under specific conditions can become a conductor. 

Serial — information which is stored or sent in a sequence, — - 

one bit at a time. 

Signal — an electrical pulse which is a conveyor of data. 

Silicon Valley — the popular name given to the area in Califor- 
nia where many semiconductor manufacturers are lo- 
cated. 

SNOBOL — a high level language. 

Software — the program which is entered into the computer 
by a user which tells the computer what to do. 

Software Compatible — this refers to two different computers 

which can accept programs written for the other. _ 

Static Memory — a non-volatile memory device which retains 
information so long as the power is turned on, but does 
not require additional boosts of power to keep the mem- 
ory in place. 

Subroutine — part of a program which is often accessed many 
times during the execution of the main program. A sub- 
routine ends with an instruction to go back to the line after — 
the one which sent it to the subroutine. 



GLOSSARY -119 



Teletext — information transmitted in the top section of a 
broadcast television picture. It requires a special set to 
decode it to fill the screen with text information. Teletext 
messages can be transmitted by cable or over phone lines. 
Examples of this are the Prestel service in Britain and The 
Source in the United States. 

Teletype — a device like a typewriter which can send informa- 
tion and also receive and print it. 

Terminal — a unit independent of the central processing unit. 
It generally consists of a keyboard and a cathode ray 
display. 

Time Sharing — a process by which a number of users may 
have access to a large computer which switches rapidly 
from one user to another in sequence, so each user is 
under the impression that he or she is the sole user of the 
computer at that time. 

Truth Table — a mathematical table which lists all the possible 
results of a Boolean logic operation, showing the results 
you get from various combinations of inputs. 



u 

UHF— Ultra High Frequency (300-3000 megaHertz). 
Ultra Violet Erasing — Ultra violet light must be used to erase 
EPROMs (see EPROM). 



Variable — a letter or combination of letters and symbols 
which the computer can assign to a value or a word during 
the run of a program. 

VDU — an abbreviation for Visual Display Unit. 

Volatile — refers to memory which "forgets" its contents 
when the power is turned off. 



120 • GAMES FOR YOUR ATARI COMPUTER 

w 

Word — a group of characters, or a series of binary digits, 
which represent a unit of information and occupy a single 
storage location. The computer processes a word as a 
single instruction. 

Word Processor — a highly intelligent typewriter which allows 
the typist to manipulate text, to move it around, to justify 
margins and to shift whole paragraphs if necessary on a 
screen before outputting the information onto a printer. 
Word processors usually have memories, so that standard 
letters and the text of letters, written earlier, can be 
stored. 



BIBLIOGRAPHY 

Compiled by Tim Hartnell 



The A to Z Book of Computer Games (Mclntire, Thomas C, 

Tab Books, Blue Ridge Summit, Pa.). 
This is a fine Tab book to give you program ideas and 
ready-to-run programs, although some of the games are a 
disappointment, such as the overly long Othello program 
which does not even play, but simply records the moves 
made by two human players. Others, however, such as 
Fivecard and Hotshot, are well written, and well worth 
entering into your microcomputer. 

BASIC Computer Games (ed. Ahl, David, Creative Computing 

Press, Morristown, New Jersey). 
This is a classic work, the source of more programming 
ideas than any other computer games book ever pub- 
lished. I had a meal with David Ahl one night in London 
after a PCW show and discussed the book. He said that 
he'd been in the personal computer field almost before 
there were personal computers, and while many of the 
games in this book do not seem startling now, the fact that 
people could write and play games for computer interac- 
tion at all seemed quite incredible in the late seventies. 
The Checkers program and Life for Two are just a couple of 
the treasures you will find in this splendid program and 
idea source book. 

BASIC Computer Programs for the Home (Sternberg, Charles 

D., Hayden Book Company, Inc., Rochelle Park, New Jersey). 
Traditionally, home computers (when first purchased) 

121 



122 • GAMES FOR YOUR ATARI COMPUTER 

have been used for playing games. One reason why they 
have not been used for more serious applications stems 
from the lack of a readily available, comprehensive set of 
home applications programs that were easy to use and 
understand and that satisfied the practical requirements of 
the home. This book provides a set of programs to make 
your computer start earning its keep. The programs pro- 
vide a good cross-section of practical applications; these 
have been designed so as not to rely upon the availability 
of tape or disk-storage devices. The programs cover a wide 
field, and are divided into a number of sections: home 
financial programs (including household expenses and 
income tax recording); car related programs (including 
fuel use and trip planning); "Kitchen Helpmates" (includ- 
ing diet and meal planning programs); scheduling pro- 
grams for home use (including a reminder calendar and a 
couple of programs which I imagine are designed to short 
circuit arguments about which television programs will be 
watched); and "List programs for every purpose" (includ- 
ing Christmas cards, music collections and three versions 
of an address program). 

The BASIC Handbook (Lien, David A., Compusoft Publishing, 

San Diego, California). 
This is an encyclopedia of the BASIC language. Now that 
BASIC is so firmly established throughout the microcom- 
puter world, it is necessary to make its many dialects 
understandable so that programs can be transported be- 
tween different computers. When you have found exactly 
the program you've been looking for, it is very frustrating 
to be unable to run it on your computer. This book 
addresses that problem by discussing in detail just about 
every commonly used BASIC statement, function, opera- 
tor and command. For the most part, BASIC words mean 
the same thing to every computer which recognizes them. 
If a computer does not possess the capabilities of a 
needed or specified word, there are often ways to accom- 
plish the same function by using another word, or combi- 
nation of words. Although the handbook requires some 



BIBLIOGRAPHY • 123 

application to transform the information into usable form, 
it is a very valuable reference work indeed. Every BASIC 
word you have ever heard of (and many you may not have 
heard of, such as LE, NE, GOTO-OF, RES and TIME) is 
probably in the book. It may be of limited use to you in 
your early days of computing, but it should become an 
indispensable handbook once you get more involved in 
the subject. 

Beat the Odds, Microcomputer Simulations of Casino Games 

(Sagan, Hans, Hayden Book Company, Inc., Rochelle Park, 

New jersey). 
The book explains how to play certain casino games 
(trente-et-quarante, roulette, chemin-de-fer, craps and 
blackjack) and gives complete program listings in BASIC 
with commentaries on systems and optimal strategies. 
Professor Sagan (Professor of Mathematics at North Caro- 
lina State University) says he wrote the book in an attempt 
to convince people that, in the long run, they could not 
win — except possibly at blackjack — and to explain some 
popular systems and their pitfalls, and above all to provide 
very realistic computer simulations of the games them- 
selves. He has succeeded in his attempt. The listings are 
possibly longer than other computer versions of the same 
games, but this is because the Sagan versions strictly 
duplicate the odds involved in playing the game "in real 
life", and cover all the eventualities that a real game can 
produce. The programs are well-structured, and an exami- 
nation of the listings should give you ideas for improving 
your own programming. 

The Calculator Game Book for Kids of All Ages (Hartman, 

Arlene, Signet Books, New York). 
The book's title says it all, and the names of the games 
(which include Fibonacci Follies, Stretch to Sixty and 
Casting Out 9s) suggest the book's contents. There are 
some worthwhile brain-stretching puzzles, and 15 or so 
ideas definitely calling for conversion to computer games. 

33 Challenging Computer Games for TRS-80/Apple/PET 

(Chance, David, Tab Books, Blue Ridge Summit, Pa.). 



124 • GAMES FOR YOUR ATARI COMPUTER 

Even if you don't have any of the three computers named 
in the title, you will still find the book a goldmine of ideas 
for your own development, and many of them will run, 
with minimal alteration, on any BASIC-using computer. 
Particularly commendable programs are Life Support, 
Scrambled Eggs and Tank Assault. 
Communicating with Microcomputers (Witten, Ian H., Aca- 
demic Press, London). 
This is an introduction to the technology of man/computer 
communications for the non-specialist. By placing particu- 
lar emphasis on low-cost techniques associated with small 
systems and personal computers, the reader's attention is 
focused on the positive nature of the "microprocessor 
revolution" — how machines can help people — rather than 
the negative aspects which are often highlighted in the 
non-technical press. The level of the book is suitable for 
the layman with some acquaintance with electronics. The 
final section, on speech communication, provides the 
most fascinating reading. 
Computer Games for Businesses, Schools and Homes (Nahi- 
gian, J. Victor and Hodges, William S., Winthrop Publishers 
Inc., Cambridge, Mass.). 
Some of the programs are a little thin for the size and price 
of the book, but the best ones are well worth adapting to 
run on your computer. The inclusion of long, clear sample 
run printouts ensures that you know exactly what the 
programs will do before you run them. The Tennis and Star 
Trek programs are especially good. 
Games for Home, Travel and Parties (Jensen, Helen, Western 
Publishing Company Inc., Racine, Wisconsin). 
Aimed squarely at children, this book gives some games 
which are simple to program (these include Snakes, Lift- 
off and Fish), and contains a complete chapter on how to 
play chess. 
Home Computers, Questions and Answers, Hardware (Didday, 
Rich, dilithium Press). 
The book has two main purposes. First, it is intended to 






BIBLIOGRAPHY • 125 

give readers a real feeling for what is involved in home 
computing, so that they can make rational decisions be- 
fore buying equipment. Second, it is intended to give 
people who have no specialized knowledge of computing 
a general background to the subject, and specifically to 
microcomputers. The book succeeds in imparting enough 
information to ensure you will have little trouble under- 
standing articles about advanced projects in computer 
hobby magazines, advertisements for home computing 
equipment, or other people who do have advanced com- 
puter knowledge. 

Inside BASIC Games (Mateosian, Richard, Sybex). 
This book is a guide, albeit a slightly overwritten one, for 
anyone who wishes to understand computer games. You 
will learn how to write interactive programs in BASIC and 
how the principles of systems development are applied to 
small computers. The book also looks at how the features 
of specific small computer systems have been supported 
in BASIC. The sections of the book include: Arithmetic 
Games, Guessing Games, Time Games, Date Games, Tax- 
man, and programming in "Free BASIC": a structured 
BASIC that is translated manually into the actual BASIC 
instructions to be entered into the computer. Free BASIC 
is not a language; it is a program description medium (like 
flow charts) that has no line numbers, and uses symbolic 
names for subroutines. Additional chapters look at The 
Match-Up Game, Craps and Alien Life. If you can contend 
with the verbiage, you will find this book well worthwhile. 

An Introduction to Personal and Business Computing (Zaks, 

Rodnay, Sybex). 

I had lunch with Rodnay in London during a PCW show 
and he told me that he thought current American predic- 
tions on the growth of the personal computer field were 
grossly pessimistic. He pointed out that the predictions 
current in 1978, when he wrote this book, have been 
proved so inaccurate that would-be prophets should take 
warning and assume that whatever they say will be wrong 



126 • GAMES FOR YOUR ATARI COMPUTER 

by a factor of 10 or 100. Despite its age — and computer 
books do age uncommonly quickly — this book is a good 
introduction to the field, explaining in clear, snappy En- 
glish the fundamentals of computer operation. Dr. Zaks 
also gives suggestions on what to look for when buying a 
computer. 
Microsoft BASIC (Knecht, Ken, dilithium Press, Forest Grove, 
Oregon). 
This book presents a complete introduction to program- 
ming in Microsoft BASIC. The concepts presented are 
illustrated with short, working programs. By starting with 
the simplest and most commonly used commands, and 
then progressing on to the more complex BASIC com- 
mands, Mr. Knecht shows how the more powerful ver- 
sions of the language can save valuable programming time 
and effort. 
57 Practical Programs and Games in BASIC (Tracton, Ken, Tab 
Books, Blue Ridge Summit, Pa.). 
There are more serious programs than games (of the Chi- 
Square Evaluation and Fibonacci Numbers variety) in this 
book. They are well programmed, and supported by ade- 
quate (if brief) documentation, and by flow charts. The 
Space Wars programs (versions one and two) at the end of 
the book are particularly good. 
Problems for Computer Solution (Rogowski, Stephen J., Crea- 
tive Computing Press, Morristown, New Jersey). 
This outlines over 50 simple (and a few not-so-simple) 
problems which can be solved by writing a program. There 
are both teacher and student editions of this book; the 
teacher edition has a suggested program and sample run 
printout to solve the difficulty. It is an excellent source for 
educational ideas. 
Stimulating Simulations (Engel, C. W., Hayden Book Com- 
pany, Inc., New Jersey). 
Here, according to the cover, are "12 unique programs in 
BASIC for the computer hobbyist." Inside you will find 
some fascinating programs: Forest Fire, Rare Birds and 



BIBLIOGRAPHY • 127 

The Devil's Dungeon are three you are sure to enjoy 
playing, while Diamond Thief (the computer decides who 
has committed the crime, then challenges you to discover 
which of the suspects is guilty) is both well written and 
tightly programmed. 

TAKE TWO! 32 Board Games for 2 Players (Tapson, Frank, A & 

C Black, London). 
This book is aimed at children, but it does give many 
fascinating ideas that could be transformed into computer 
games (even if some of them are duplicated elsewhere in 
the book). 

24 Tested, Ready-to-Run Game Programs in BASIC (Tracton, 

Ken, Tab Books, Blue Ridge Summit, Pa.). 
Tab Books are prolific publishers in the microcomputer 
program field, and their books are deservedly successful. 
If nothing else, reading a book such as this one will give 
you ideas for structuring programs neatly, and for writing 
them to ensure the maximum compatibility between dif- 
ferent versions of BASIC. Many of the games, such as Auto 
Rally and Capture the Alien, are (despite their weak titles) 
well thought out, carefully constructed programs. 

1001 Things to Do with Your Personal Computer (Sawush, 

Mark, Tab Books, Blue Ridge Summit, Pa.). 

I bought this book at a computer fair in Atlanta, and read it 
(making notes, and turning down page corners) on the 
flight to London. And I still hadn't finished it on arrival. If 
you feel you have come to the end of possible applications 
for your computer, buy this book and discover that you 
have barely scratched the surface. It tells you about writ- 
ing music and stories, aiding a mechanic or a carpenter, 
solving simultaneous equations, astrology, and much, 
much more. 

The World Computer Chess Championship (Hayes, Jean E., and 

Levy, David N. L., Edinburgh University Press, Edinburgh). 
This is a fascinating account of the world's first machine 
versus machine chess championship, held in 1974, when 
the dozen or so computer programs taking part were the 



128 • GAMES FOR YOUR ATARI COMPUTER 

only chess programs in existence. The games are analyzed 
in detail, and the final section of the book outlines a 
board-numbering system which you could use if you're 
considering writing your own chess program. The book 
makes you realize how far the computer world has come 
in only a few years. 



r 

r 

r 
r 

r 
r 
r 
r 
i 
r 
r 

r 
r 



ES 




EXCITEMENT! 

....Thrill to the challenge of 



Take the ultimate risk with 5KYDIVER 
GRAND PRIX II. ...Score 



points for safety when you navigate a LUNAR LANDING 
.... Swoop down the slopes without leaving your living room 
with SKI RUN . . . . Straighten out your life with DECISION 
MAKER . . . . Learn to use your computer's incredible color 
range with COLOR PATTERN and COLOR PUZZLE . . . . 
Create the music of the future with SOUND PROGRAM , 
and much, much more... 

ENTERTAINMENT! ... More than 25 f ascinatingonginal 
full-color programs, including arcade-style games, brain 
teasers, word games, puzzles, and music written exclu- 
sively for THE DELL COMPUTER GAMES SERIES and 
guaranteed to give you endless hours of fun and thrilling 
entertainment. 

CHALLENGE!. .. Improve your computer-game skills. 
Extend your programming expertise. Learn tricks and 
techniques to apply to your programming as you follow 
instructions to enter each game into your Atari Com- 
puter Once you've mastered their present form, you're 
the expert. Try your hand at improving them! 

ORIGINAL GAME PROGRAMS •»* FUN FOR THE WHOLE FAMILY 

COMPLETE WITH A GLOSSARY OF COMPUTER 
TERMS, A SELECTIVE BIBLIOGRAPHY, AND HINTS 
ON HOW TO IMPROVE AND EXTEND THE GAME 
PROGRAMS THAT WILL ADD TO YOUR ALL-AROUND 
PROGRAMMING EXPERTISE. 

A Dell Trade Paperback/Dell Publishing Co., Inc. 





"71009"0u595 
ISBN D-44D-5EflOQ-3